Spring Cloud应用开发(三:客户端的负载均衡)

本文介绍了Ribbon的使用方法,通过在RestTemplate方法上添加@LoadBalanced注解使其具备负载均衡能力,使用服务实例名称执行方法。还创建服务监听类,添加输出语句,最后启动服务进行测试,展示了负载均衡的实现效果。

 

1、Ribbon的使用

注:在石榴啊RestTemplate的方法上添加@LoadBalanced注解,并在其执行方法中使用服务实例的名称即可;

 

1.1、添加@LoadBalanced注解,在ms-spring-eureka-user工程引导类中的RestTemplate()方法上添加@LoadBalanced注解;

注:在上述方法中RestTemplate被@LoadBalanced注解后,就具有了负载均衡的能力。

 

1.2、使用服务实例名称。在用户服务实例的查询方法中,使用服务提供者(订单服务)的实例名称来执行已注册服务列表中实例的方法,如下:

注:从上述代码中可以看出,getForObject()方法的URI中使用的已经不是“主机地址+端口号”的形式,而使用的是注册中心中的订单服务实例名称

 

1.3、创建服务监听类,为了演示负载均衡的实现效果,在这里ms-spring-eureka-order工程中创建一个用于监听服务实例端口的工具类ServiceInfoUtil,实现代码如下:

 

 

1.4、添加输出语句,在订单控制器类OrderController的查询订单方法中,增加一行执行输出当前实例端口号的语句;

 

1.5、启动服务,测试应用。分别启动注册中心,用户服务和订单服务,然后修改订单服务端口号(此处用7902),再次启动一个订单服务后,Eureka信息页面注册信息如下:

 

1.6、当通过浏览器连续4次访问地址http://localhost:8000/findOrderByUser/1后,两个控制台如下图所示。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值