springcloud 微服务 学习入门 eureka

springcloud 之 Feign Rpc

而且feign在底层封装了ribbon,以更友好,更灵活的形式展现在了我们眼前,所以今天我们研究的重心放在了feign身上。

 feign是netflix提供的服务间基于http的rpc调用框架,在spring cloud得到广泛应用。默认情况下,一个feign client是在hystrix断路器中执行,并利用ribbon进行软负载选择远程服务(service),所以可以想象出一个feign client的层次架构是包裹的层次,hystrix控制整个rpc从调用到方法返回,而ribbon控制从选址到socket返回;

https://blog.csdn.net/zwx19921215/article/details/79804379

RestTemplate 可以认为就是对HttpClient的一个封装,可以把调用的结果转化成Java 对象,从而达到简化开发的目的。 

SpringCloud实战5-Feign声明式服务调用

https://blog.csdn.net/xlgen157387/article/details/77773908

https://www.jianshu.com/p/8bca50cb11d8

feign是声明式的web service客户端,它让微服务之间的调用变得更简单了,类似controller调用service。Spring Cloud集成了Ribbon和Eureka,可在使用Feign时提供负载均衡的http客户端。

因为feign底层是使用了ribbon作为负载均衡的客户端,而ribbon的负载均衡也是依赖于eureka 获得各个服务的地址,所以要引入eureka-client。

 

每一个微服务模块都使用springboot内置的tomcat 打jar包 , 然后java -jar 运行打好的jar包

第一点需要注意的是:

idea创建eureka服务,  注意生成的springboot项目默认是 application.properties, 需要手动复制一份命名为 application.yml, 再粘贴如下内容到yml文件里  

server:
  port: 7061

eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
 #启动成功后,访问 http://localhost:8761/ 就可以看到浏览器界面了,eureka作为其他服务的注册中心则需要如下配置 
 #http://localhost:8761/eureka

第二点要注意的是, 当想创建第二个module时, 注意改变content root 文件夹的路径