代码改变世界

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换成一样,端口设不一样就行,根据自身情况调整