1、集群部署架构图
官方提供了三种部署架构:
http://ip1:port/openAPI 直连ip模式,机器挂则需要修改ip才可以使用。
http://VIP:port/openAPI 挂载VIP模式,直连vip即可,下面挂server真实ip,可读性不好。
http://nacos.com:port/openAPI 域名 + VIP模式,可读性好,而且换ip方便,推荐模式
2、集群环境搭建
2.1、环境准备
Nacos需要3个或3个以上节点才能构成集群,现准备以下三台linux机器:
- 10.25.84.163
- 10.25.84.164
- 10.25.84.165
每台机器需配置JDK1.8+版本
2.2、下载安装
下载地址:https://github.com/alibaba/nacos/releases
本文版本:截止当前时间稳定版本1.1.4
2.3、解压
|
|
解压后文件目录结构:
|
|
2.4、配置集群配置文件
集群配置文件为nacos的解压目录nacos/conf下的cluster.conf
,但我们解压出来的目录下只有cluster.conf.example
文件,这是个示例,我们修改下文件名可直接用
|
|
编辑cluster.conf
,每行配置ip:port
2.5、配置MySQL数据库
nacos为什么要配置MySQL?
Nacos的单节点,即standalone模式下,数据默认存储到内嵌的数据库derby中。如果是集群环境,nacos数据存储没有使用分布式算法解决一致性性问题,而是采用比较常规的集中化存储,而且目前支持MySQL。从部署和硬件投入,相比consul、zookeeper、etcd这些采用分布式一致性算法的中间件就稍显不足了。
理解后,我们开始配置:
第一步:初始化MySQL数据库
新建一个数据库,库名自定义,如nacos,执行nacos/conf目录下的nacos-mysql.sql
脚本,初始化表结构
第二步:application.properties添加数据库配置
编辑nacos/conf目录下的application.properties文件,添加mysql配置
|
|
注:生产使用建议至少主备模式,或者采用高可用数据库。
2.6、启动服务器
执行nacos/bin目录下的启动脚本startup.sh
,启动其中一台,如10.25.84.165
查看启动日志:
|
|
可以看到nacos已经成功启动
登录nacos控制台,地址:http://10.25.84.165:8848/naocs
默认用户名/密码为:nacos/nacos
,登录进去查看集群节点
此时只有一个节点,状态是CANDIDATE,即候选中,我们依次把剩下的两台机器上的nacos服务启动
此时,集群节点已全部启动,可以看到主节点已经选举出来
2.7、关闭服务器
我们现在来把主节点,即10.25.84.164节点服务关闭
再次查看集群节点,此时会重新选取主节点,如下10.25.84.163节点被选取为主节点