Nacos安装
2020-07-29 20:36 ☆野生架构师☆ 阅读(1763) 评论(0) 编辑 收藏 举报一、什么是 Nacos?
Nacos 是阿里巴巴的新开源项目,其核心定位是 “一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台”,它支持几乎所有主流类型的“服务”的发现、配置和管理。
二、单体部署
配置文件/data/nacos/init.d/custom.properties内容如下
management.endpoints.web.exposure.include=*
docker run -d -p 8848:8848 -e MODE=standalone -v /data/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties -v /data/nacos/logs:/home/nacos/logs --restart always --name nacos nacos/nacos-server
三、群集部署
整体架构为:Nginx + 3 x Nacos + MySQL
高可用MySQL使用主从复制结构 https://github.com/alibaba/nacos/blob/develop/distribution/conf/nacos-mysql.sql
docker run -d \
-p 8848:8848 \
--name nacos-1 \
-e MODE=cluster \
-e PREFER_HOST_MODE=ip \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e NACOS_SERVER_IP=192.168.87.133 \
-e NACOS_SERVERS=192.168.87.133:8848 192.168.87.135:8848 192.168.87.139:8848 \
-e MYSQL_MASTER_SERVICE_HOST=192.168.1.30 \
-e MYSQL_MASTER_SERVICE_PORT=3306 \
-e MYSQL_MASTER_SERVICE_DB_NAME=nacos \
-e MYSQL_MASTER_SERVICE_USER=root \
-e MYSQL_MASTER_SERVICE_PASSWORD=123456 \
-e MYSQL_SLAVE_SERVICE_HOST=192.168.1.30 \
-e MYSQL_SLAVE_SERVICE_PORT=3307 \
-e JVM_XMS=512m \
-e JVM_XMX=512m \
-e JVM_XMN=256m \
-e JVM_MS=32m \
-e JVM_MMS=80m \
-v /data/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
-v /data/nacos/logs:/home/nacos/logs \
--restart=always \
nacos/nacos-server
其对应关系为:
192.168.87.133 对应 nacos-1
192.168.87.135 对应 nacos-2
192.168.87.139 对应 nacos-3
四、访问Nacos UI界面
这里使用133服务器页面进行展示下,
访问http://192.168.87.133:8848/nacos
,进入登录页面,默认的用户名与密码都是nacos
我这里还原的sql是平时测试用的,这里打下码,我们的关注点在 集群管理 > 节点列表 这里
这里我们看到Nacos集群各节点已经正常了,LEADER与FOLLOWER已经选出,一切正常了
五、配置Nginx
除了Nacos集群配置外,我们在Spring Boot或Spring Cloud项目中使用的时候,只能指定一个URL指向Nacos服务端,这里使用Nginx进行代理负载均衡
如果可以的话,生产环境最佳实践是使用一个域名指向Nginx,之后就算换Nginx主机,客户端也无需修改配置文件,只需要使用域名指向一个新的Nginx的IP
upstream nacos-cluster
{
server 192.168.87.133:8848;
server 192.168.87.139:8848;
server 192.168.87.135:8848;
}
server
{
listen 8848;
location /
{
proxy_pass http://nacos-cluster;
}
}
启动Nginx,使用代码进行测试连接当前的Nginx所在主机IP:8848
这里已经可以看到服务正常注册到集群中了
注:文章中是按照3台虚拟机部署的,其实在一台机器上部署也可以,把ip换成一样,端口设不一样就行,根据自身情况调整