版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yiyijianxian/article/details/83962461
Spring cloud 中服务之间通过restful方式调用有两种方式:
1.restTemplate+Ribbon
2.feign
Ribbon 是客户端负载均衡器,Zuul网关负载均衡器 针对外部请求做负载。
客户端ribbon的负载均衡,解决的是服务发起方(在Eureka注册的服务)对被调用的服务的负载,比如我们查询商品服务要调用显示库存和商品明细服务,通过商品服务的接口将两个服务组合,可以减少外部应用的请求
ribbon是对服务之间调用做负载,是服务之间的负载均衡,zuul是可以对外部请求做负载均衡。
Feign http负载平衡客户端:1、Feign采用的是接口加注解;2、Feign 整合了ribbon
1.首先创建一个eureka客户端工程
2.启动类上增加客户端注解
3.添加yml配置信息
4.增加一个服务类
5.启动 工程测试如下
6.添加一个客户端类实现服务调用,RestTemplate 的三种使用方式:
6.1 直接new一个RestTemplate
这种的缺点是地址是写死的,在实际的为服务中我们是不知道对方的地址的。
6.2利用loadBalanceerClient通过应用名获取url
6.3首先创建一个RestTemplate配置类
在控制层注入RestTemplate 使用restTemplate+应用名的方式访问注册服务。注意ribbon发现服务时服务名称中不能含有"_"。