SpringCloud 服务之间调用

版权声明:本文为博主原创文章,未经博主允许不得转载。 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发现服务时服务名称中不能含有"_"。

猜你喜欢

转载自blog.csdn.net/yiyijianxian/article/details/83962461
今日推荐