
Nacos是SpringCloudAlibaba微服务架构体系中的一个重要组件,那么该如何保证Nacos的高可用?集群部署就是一个行之有效的解决方案。那么又该如何搭建Nacos集群呢?快来跟涛哥撸起来吧!
关注Java架构栈,干货天天都不断。
一. Nacos集群部署架构图
以下是来自官网的部署架构图,大家先看一看吧 ^_^:

开发的时候,涛哥推荐大家把所有服务列表放到一个ip下面,然后挂到一个域名下面。
http://ip1:port/openAPI,直连ip模式,机器挂则需要修改ip才可以使用;
http://SLB:port/openAPI,挂载SLB模式(内网SLB,不可暴露到公网,以免带来安全风险),直连SLB即可,下面挂server真实ip,可读性不好;
http://nacos.com:port/openAPI,域名 + SLB模式(内网SLB,不可 暴露到公网,以免带来安全风险),可读性好,而且换ip方便,推荐模 式。
二. Nacos集群搭建
首先我们再通过一张图,来了解一下集群原理:

通过上图我们可以明确Nacos集群搭建的几个关键步骤:
在MySQL中创建一个名为nacos的数据库,并执行nacos/conf/nacos-mysql.sql文件,创建数据表;
现在Nacos,拷贝三个nacos节点,并完成数据源配置、相互节点信息配置;
搭建Nginx负载均衡服务器,构建nacos集群;
服务面向Nginx进行注册。
步骤明确了,我们就来动手吧!
三. 集群节点信息
在本案例中,我们要搭建出三个Nacos节点,连接到相同的数据库,并搭建一个Nginx服务器,各端口配置信息如下:
| 服务名 | ip | 端口 | 备注 |
nacos1 |
192.168.2.8 |
8848 |
节点1 |
nacos2 |
192.168.2.8 |
8858 |
节点2 |
nacos3 |
192.168.2.8 |
8868 |
节点3 |
nginx |
192.168.2.8 |
80 |
反向代理nacos3个实例 |
四. nacos节点配置
application.properties 配置节点port 和 mysql数据源信息。
server.port=8848
nacos.inetutils.ip-address=192.168.1.3
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=@QFedu123cluster.conf配置节点列表(需要在nacos/conf目录中,拷贝cluster.conf.example,修改为cluster.conf)。
#2022-11-10T11:06:02.093
192.168.1.3:8848
192.168.1.3:8858
192.168.1.3:8868bin/startup.cmd配置(默认就是集群启动)。
set MODE="cluster"相同的配置,部署三个nacos节点(端口分别为 8848、8858、8868,不要设置连续的端口)。
五. nginx负载均衡服务器配置
nginx.conf文件的内容信息如下:
upstream nacoscluster {
server 192.168.1.3:8848;
server 192.168.1.3:8858;
server 192.168.1.3:8868;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://nacoscluster/;
}
}接下来依次启动三个Nacos节点,然后启动Nginx服务器,在微服务架构系统中进行服务注册时,面向Nginx的地址进行注册,你会发现在三个Nacos节点中,就都能看到服务器的注册信息啦!小伙伴们学会了吗?赶紧动手试试吧!记得点个赞哟^_^!
扫码咨询了解课程详情,获取课程配套资料!

扫码或者点击文末左下角【阅读原文】快速进入学习!

点击【阅读原文】,免费开始学习SpringCloud视频课程!
原文作者:Java架构栈;如有侵权,请联系管理员删除。