一、准备工作
在实际开发过程中,如果使用Nacos的话,为了确保高可用,我们一般都会对其进行集群的部署。Nacos规定集群中Nacos节点的数量需要大于等于3个;同时,单机模式下Nacos的数据默认保存在其内嵌数据库中deby,不方便观察数据存储的基本情况。而且如果集群中启动多个默认配置下的Nacos节点,数据存储是存在一致性问题的。为了解决这个问题,Nacos采用了集中式存储的方式来支持集群化部署,目前只支持MySQL的存储;此外,我们还需要借助Nginx实现负载均衡。这一过程的部署架构图如下所示:
本地简易开发:
1.准备三个nacos服务器---为了操作方便统一部署到同一台电脑【8849.8850.8851】
2.准备mysql---创建一个nacos-config--创建相应的表
1. 创建数据库
在nacos中已经内置了相应的数据库,只需在数据库中创建一个新的数据库然后直接复制以下的数据库进行粘贴即可
2. 指定使用mysql作为数据存储
3. 配置集群文件
4. 停止nacos并复制三份
注意:在开启集群前nacos集群的目录不能有中文目录
并修改每一份的端口号
5. 启动三个nacos
6. 搭建nginx代理上面三个nacos
7.测试
7. 微服务注册到nacos集群上
以上就是所有的准备工作
二、gateway网关
2.1 如何使用gateway网关
2.1.1 创建一个gateway微服务模块
2.1.2 加入相关的依赖
<dependencies>
<!--只需要添加该依赖,不要使用spring-boot-starter- web依赖。 3 因为gateway内置了服务器netty.而web的jar内置 tomcat 4 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</grou