nacos集群搭建

前面一段时间,研究了一下 springcloud alibaba ,本机虽然已经完成所有的演示,但是我还是想看一下,集群是怎么玩的,所以 网上找了一份稍微好一点的博文,分享给大家,
前景知识:CAP 理论
CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾

前言
分布式环境下,AP理论要求所有的服务做到高可用,使用nacos做分布式配置中心搭建和使用都很方便,但是在生产环境下,配置中心最好也能做到高可用,同时,nacos默认情况下是不会对配置的数据进行持久化的,但官方提供了持久化方案,可以使用mysql将配置中心使用的数据进行入库

说明:由于本地没有多的服务器,不能完全按照官网的要求搭建,这里通过端口进行区分也可
在这里插入图片描述

在这里插入图片描述
附上一副官方的关于nacos集群配置的架构图,其思想原理解释起来就是:nacos的集群访问通过一个前置的负载均衡器进行转发,很容易就能想到使用nginx来完成,因此整个搭建需要的软件就是:

nginx + nacos + mysql

1
搭建步骤
我的公网IP:106.15.37.145 ,集群环境下互相之间需要连通,配置端口规划:

106.15.37.145:8849
106.15.37.145:8850
106.15.37.145:8851

1、下载nacos的linux版,版本1.1.3或者1.1.4都可以
在这里插入图片描述

2、执行nacos的配置数据持久化的sql
在这里插入图片描述

我这里提前创建好了数据库,执行完毕如下:
在这里插入图片描述

3、将解压后的nacos复制3份出来,即3个实例
在这里插入图片描述

4、进入每个实例,分别修改applicatio.properties配置文件,要修改的地方有两处,一个是端口号,

在这里插入图片描述

另一个需要将mysql的nacos的配置问价数据库连接信息加入到尾部

db.num=1
db.url.0=jdbc:mysql://106.15.37.145:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456

nacos222和nacos333也按照上面的步骤修改,只不过端口号分别换成8850和8851即可

5、添加并修改cluster文件
在这里插入图片描述

将cluster.conf.example复制为cluster.conf文件,并在cluster.conf中作如下的配置

106.15.37.145:8849
106.15.37.145:8850
106.15.37.145:8851

顾名思义这里表示启动的时候,nacos会寻找这个cluster.conf的配置文件中的信息,符合条件的实例就会加入到集群中

同样的操作,在nacos222和nacos333中添加上面的这个配置文件,或者直接复制过去也可

6、修改nginx配置文件

nginx在这里的作用相当于是一个转发的功能,在生产环境下,相当于是一个前置的负载均衡转发器,因此只需要在nginx.conf中添加如下配置即可

upstream cluster {
server 106.15.37.145:8849;
server 106.15.37.145:8850;
server 106.15.37.145:8851;
}
然后添加到server中即可
在这里插入图片描述

7、分别启动3个nacos实例和nginx

进入nacos111,nacos222,nacos333的bin目录下,执行startup.sh进行启动
在这里插入图片描述

如果启动中报内存不足的错误,建议根据自己的服务器配置情况去startup.sh中将相关的配置内存参数调整的小一点
在这里插入图片描述

再把nginx也启动起来
在这里插入图片描述

上面的启动都没有问题了的话,浏览器访问如下地址即可:

http://106.15.37.145:1111/nacos/#/login

在这里插入图片描述

登陆进入控制台,我们添加一条数据
在这里插入图片描述

可以看到,这条数据已经持久化到mysql的数据表中了,在这种情况下,可以想象到,任意一个或者两个节点挂掉了都没问题,因为配置的数据已经持久到数据库了,只要还有一个节点活着就能对外提供服务
在这里插入图片描述

本篇的讲解到此结束,看起来并不是很难,但是搭建过程中踩了不少坑,希望对看到的小伙伴们有用,最后感谢观看!

原文中间 大量转载参考 https://blog.csdn.net/zhangcongyi420/article/details/105468215/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值