【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡)

导读:本篇文章讲解 【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

首先,介绍一下:SpringCLoud Alibaba的Nacos相对于SpringCloud而言,实现了Eureka和Config和Ribbon的作用,可以界面化的实现这些功能,简单实用,一站式解决分布式的问题。

针对上面介绍的三种作用,下面进行一一实现。(基于上一章改进代码,若看不懂,进入上一章)

本章讲解如何实现Ribbon负载均衡的作用(自定义访问策略)

目录

一、改造提供者服务

二、改造消费者服务

三、自定义策略

四、演示

一、改造提供者服务

首先展示一下代码目录结构:

【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡)

前提:成功注册服务到注册中心Nacos 。

新增controller进行测试,如下:

【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡)

使用spring的value注解获取配置文件的端口号(上一章运行了两个提供者服务,端口号不同)

@RefreshScope注解是下一章配置中心的东西先不管,不用加。

@Sl4j是日志注解。方便使用log的方法。

二、改造消费者服务

先展示一下目录结构:

【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡)

新增配置类:

【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡) 使用@LoadBalanced注解启动负载均衡(基于ribbon实现,默认轮询方式)。

修改配置类:

【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡)

设置调用方服务的service:与提供者服务的

application:
  name: nacos-provider

 保持一致。

新增controller:

【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡)

同提供者服务类似,通过spring的value注解获取配置里的url地址,通过restTemplate模板调用方法访问提供者服务的接口。

运行项目:

【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡)

进入nacos查看:

【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡) 运行成功。

通过postman进行消费者服务的接口测试(调用提供者服务的接口),如下:

【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡)

【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡)

81是消费者服务的端口,返回提供者服务的端口,每次调用返回不同的端口(以轮询的方式访问提供者服务的实例)。

三、自定义策略

针对上面的轮询策略,nacos可以实现自定义策略,如下:

【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡)

 进入服务列表,点击详情,进入详情界面,点击编辑按钮

【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡)

 编辑两个实例的权重:【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡)

 结果如下:

【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡)

当然仅仅这样改是不会生效的,还需要加一个配置,如下:

【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡)

加在服务调用方的启动类上 。

四、演示

使用postman演示,如下:

【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡)

【二】SpringCloud Alibaba之Nacos整合篇(配置负载均衡)

平均下来差不到9次访问9003端口的实例,一次访问9004端口的实例。自定义负载均衡策略生效。

下一章实现nacos的配置中心功能。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/12765.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!