ums(ribbon+RestTemplate负载均衡)访问notice集群

介绍

使用 eureka 前

使用 eureka 后

注意

notice集群部署成功后,ums工程需要修改代码,才能访问notice集群

ums之前的代码中,是通过ip访问notice微服务的,如果还是根据ip访问notice微服务,将永远只访问这个notice微服务,其他notice微服务根本没用上

修改ums工程

修改url

注意:是eureka server上显示的服务名

public static final String NOTICE_URL="http://NOTICE-SERVICE";

ribbon+RestTemplate 客户端负载均衡

不用负载均衡,将无法访问微服务

由于 eureka2.x 默认引入ribbon负载均衡的依赖,所以直接使用就可以,搭配 RestTemplate :

修改 ums 工程的 ApplicationContextConfig 类,增加 @LoadBalanced 注解即可,如下图:

@Bean
@LoadBalanced
public RestTemplate getRestTemplate(){
    return new RestTemplate();
}

修改notice工程

修改 NoticeController类的 getNoticeById() 方法,打印字符串:

System.out.println("=====id:"+id+"--"+new Date());

目的是:notice集群有2个节点,访问ums时,观察调用的是哪一个notice节点

测试

访问 http://192.168.0.201:8081/getNotice/1 ,能够正常显示,观察2个notice节点,哪一个在打印字符串,就说明调用的是哪一个notice微服务


原文出处:/show_1EF5iC9JZY8N.html