了解服务器端负载均衡和客户端负载均衡的区别可阅读: https://blog.youkuaiyun.com/u011136197/article/details/88720157
这里使用客户端负载均衡,更适合微服务
1.原理很简单
- gateway和serviceA都在nacos注册中心注册,gateway从注册中心发现serviceA提供的2个服务(只要愿意,可以启动N个serviceA服务),自动采用轮询机制访问serviceA。
- nacos是spring cloud alibaba的组件,spring cloud alibaba属于spring cloud的子项目。所以spring cloud alibaba的组件可以和spring cloud组件之间可以很好结合
- spring cloud gateway是spring cloud中实现服务网关的功能
请仔细阅读组件版本关系(版本要一致,避免有冲突):https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E。spring cloud都是依赖spring boot的,根据spring boot版本选择spring cloud和spring cloud alibaba,cloud内的组件无需很关心,他们会根据cloud版本自动选择对应的组件版本,此处采用spring boot 2.3.2.RELEASE,spring cloud alibaba 2.2.4.RELEASE进行调试
2.启动服务serverA:
- 首先下载springboot(Dependencies中选择Spring Web ):https://start.spring.io/
- 用idea打开,配置端口8081,启动服务。
- 打开idea的Allow parallel run,重新配置端口号8082,可以启动第二个服务,以此类推可以启动N个服务
3.安装并启动nacos:
- nacos有两个主要功能:实现配置的动态变更、服务注册与发现。我们这里只需要服务注册与发现
- 安装启动(必须):https://nacos.io/zh-cn/docs/quick-start.html ,请参考文档自行安装启动,这里不再具体说明。启动成功后访问
http://127.0.0.1:8848/nacos/index.html就可以打开nacos的web控制台了 - spring cloud alibaba接入说明(参考):https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md
- nacos的注册发现接入说明(参考):https://github.com/alibaba/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/readme-zh.md
4.serverA接入nacos的discovery功能
三步:1.加依赖(pom.xml)、2.改配置(application.yml)、3.加注解(java类或者方法之上)
- 接入spring cloud alibaba ,在pom.xml依赖加载
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.4.RELEASE</version>
<type>

最低0.47元/天 解锁文章
1934

被折叠的 条评论
为什么被折叠?



