全部在WMWare虚拟机上实现,一共准备4个节点,IP 分别为 192.168.216.128/138/148/198。
整体架构:
1)Nginx,部署在1个节点198,负责负载均衡Nacos 请求
2)Nacos server,部署在3个节点128/138/148
3)MySQL 5.7,主从复制,主138,从148,负责Nacos 配置数据持久化存储。
安装步骤:
1、MySQL 安装
之前已经安装并设置过 主从复制集群。
2、Nacos Server 2.0.3 版本安装
本地下载 2.0.3 版本,使用Xshell 上传到虚拟机三个节点的 /opt/education/目录下,解压缩后目录为nacos。
使用 vim 命令编辑 nacos/conf 下的application.properties 文件,shift + G,定位到文件最后一行,添加如下内容,然后保存退出。
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.216.138:3306/poi?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root
vim命令编辑cluster.conf文件,添加如下内容,然后保存退出。
192.168.216.128:8848
192.168.216.138:8848
192.168.216.148:8848
三个节点上对这两个配置文件进行同样的修改操作。
3、Navicat 客户端连接MySQL 主节点,选择 poi 数据库,执行数据库初始化语句,这个sql位于Nacos的conf目录下,文件名为 nacos-mysql.sql。
因为已经设置了主从复制,在主节点MySQL poi库上执行此语句新建了几张表之后,从节点也会同步添加了这些表。
4、启动 Nacos Server 服务。
vim startup.sh,修改-server命令的jvm参数,默认2g内存,我的虚拟机才1G,启动不起来,看日志一直显示is starting,改小一点256m后就能启动成功了。
启动命令:
sh startup.sh
开放 8848 端口:
firewall-cmd --permanent --zone=public --add-port=8848/tcp
重启防火墙:
firewall-cmd --reload
访问 http://192.168.216.148:8848/nacos/#/login 测试是否启动成功,如果能出现登录页面,说明已成功。
5、Nginx 配置负载均衡。
#nacos集群负载均衡
upstream nacos_cluster {
server 192.168.216.128:8848;
server 192.168.216.138:8848;
server 192.168.216.148:8848;
}
server {
listen 8010;
server_name localhost;
location / {
proxy_pass http://nacos_cluster;
proxy_set_header Host $host;
}
}
配置完之后,使用重启命令已 Nginx 配置生效:/usr/local/nginx/sbin/nginx -s reload
访问 http://192.168.216.198:8010/nacos/#/login,如果可以打开登录页面,说明 Nginx 配置也成功了。
6、Nacos 集群做注册中心和配置中心的使用,和单机版一致;微服务中,nacos server地址应该为 Nginx 请求地址,http://192.168.216.198:8010。