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 对象,从而达到简化开发的目的。
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