一、改造提供者服务
首先展示一下代码目录结构:
前提:成功注册服务到注册中心Nacos 。
新增controller进行测试,如下:
使用spring的value注解获取配置文件的端口号(上一章运行了两个提供者服务,端口号不同)
@RefreshScope注解是下一章配置中心的东西先不管,不用加。
@Sl4j是日志注解。方便使用log的方法。
二、改造消费者服务
先展示一下目录结构:
新增配置类:
使用@LoadBalanced注解启动负载均衡(基于ribbon实现,默认轮询方式)。
修改配置类:
设置调用方服务的service:与提供者服务的
application:
name: nacos-provider
保持一致。
新增controller:
同提供者服务类似,通过spring的value注解获取配置里的url地址,通过restTemplate模板调用方法访问提供者服务的接口。
运行项目:
进入nacos查看:
运行成功。
通过postman进行消费者服务的接口测试(调用提供者服务的接口),如下:
81是消费者服务的端口,返回提供者服务的端口,每次调用返回不同的端口(以轮询的方式访问提供者服务的实例)。
三、自定义策略
针对上面的轮询策略,nacos可以实现自定义策略,如下:
进入服务列表,点击详情,进入详情界面,点击编辑按钮
编辑两个实例的权重:
结果如下:
当然仅仅这样改是不会生效的,还需要加一个配置,如下:
加在服务调用方的启动类上 。
四、演示
使用postman演示,如下:
平均下来差不到9次访问9003端口的实例,一次访问9004端口的实例。自定义负载均衡策略生效。
下一章实现nacos的配置中心功能。