搭建nacos高可用集群
为什么要搭建nacos高可用集群
nacos可以作为注册中心和配置中心,属于服务间通信和服务启动加载配置的关键组件,因此在生产环境中使用必须
保证nacos的高可用。针对nacos的高可用主要是搭建nacos集群,以及对持久层(nacos默认使用的是一个内嵌数据库Derby,
我们可以使用Mysql)实现高可用,当然本文不对Mysql高可用做介绍。
端口定义
nacos默认的端口是8848,准备搭建三个节点:
nacos-1, 8848
nacos-2, 8849
nacos-3, 8850
配置Mysql持久化
nacos/conf
找到application.properties,vi进行编辑
主要就是配置mysql的地址等信息,然后将nacos包复制三份,分别命名为nacos-1,nacos-2,nacos-3,并将nacos-2和nacos-3
的端口分别修改为8849和8850。
另外,mysql数据库中需要建一个nacos库和相关表,建表语句也在conf下面——nacos-mysql.sql
在mysql建好nacos库之后,把这些语句拿到mysql执行就好了
配置nacos集群
将nacos-[123]这三个包里面的cluster.conf.example重命名为cluster.conf,并在里面添加如下配置:
# ip:port
127.0.0.1:8848
127.0.0.1:8849
127.0.0.1:8850
当然,我这里是把三个节点都部署到一台机器上了,所以ip直接就是127.0.0.1。
接下来就是依次启动三个节点:sh startup.sh,不过这里我遇到了内存不足的问题,因为我使用的是阿里云1核心1G的配置,
在启动第二个节点的时候就报内存不足了:
解决方案是可通过JVM调优参数去限制nacos占用的内存和栈数,我暂时没搞这个。
效果
不过即使只启动了一个节点也是可以看到效果的
可以在nacos dashboard的集群管理里面看到所有的节点,包含未启动但是在cluster.conf中已经配置了的节点。
参考文章
书上说,天下没有不散的宴席。不要怕,书上还说了,人生何处不相逢。