• 基于Docker与Nginx搭建Nacos2.0.4三节点集群


    安装步骤

    1:安装mysql用于存储,并导入nacos的初始化sql文件

    参考此链接

    2:安装nacos集群

    准备三台已安装docker的机器
    三节点内网ip地址分别为:

    机器ip
    node110.19.11.215
    node210.19.11.217
    node310.19.23.114

    进入nocde1安装nacos节点1

    docker run -d \
    --name nacos_cluster_1 \
    --restart=always \
    -e PREFER_HOST_MODE=hostname \
    -e MODE=cluster \
    #此节点的端口
    -e NACOS_APPLICATION_PORT=8848 \
    #集群所有的ip
    -e NACOS_SERVERS="10.19.11.215:8848 10.19.11.217:8848 10.19.23.114:8848" \
    #使用mysql存储
    -e SPRING_DATASOURCE_PLATFORM=mysql \
    #mysql的地址
    -e MYSQL_SERVICE_HOST=11.22.33.44 \
    #mysql端口
    -e MYSQL_SERVICE_PORT=3306 \
    #mysql用户名
    -e MYSQL_SERVICE_USER=nacos_mysql \
    #mysql密码
    -e MYSQL_SERVICE_PASSWORD=nacos_pwd \
    #nacos库名字
    -e MYSQL_SERVICE_DB_NAME=cloud_nacos \
    #此节点的内网ip,每个节点的ip都不一样
    -e NACOS_SERVER_IP=10.19.11.215 \
    #挂载的端口,nacos2.0新增了9848,9849端口
    -p 8848:8848 \
    -p 9848:9848 \
    -p 9849:9849 \
    nacos/nacos-server:v2.0.4
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    进入nocde2安装nacos节点2

    docker run -d \
    --name nacos_cluster_2 \
    --restart=always \
    -e PREFER_HOST_MODE=hostname \
    -e MODE=cluster \
    #此节点的端口
    -e NACOS_APPLICATION_PORT=8848 \
    #集群所有的ip
    -e NACOS_SERVERS="10.19.11.215:8848 10.19.11.217:8848 10.19.23.114:8848" \
    #使用mysql存储
    -e SPRING_DATASOURCE_PLATFORM=mysql \
    #mysql的地址
    -e MYSQL_SERVICE_HOST=11.22.33.44 \
    #mysql端口
    -e MYSQL_SERVICE_PORT=3306 \
    #mysql用户名
    -e MYSQL_SERVICE_USER=nacos_mysql \
    #mysql密码
    -e MYSQL_SERVICE_PASSWORD=nacos_pwd \
    #nacos库名字
    -e MYSQL_SERVICE_DB_NAME=cloud_nacos \
    #此节点的内网ip,每个节点的ip都不一样
    -e NACOS_SERVER_IP=10.19.11.217 \
    #挂载的端口,nacos2.0新增了9848,9849端口
    -p 8848:8848 \
    -p 9848:9848 \
    -p 9849:9849 \
    nacos/nacos-server:v2.0.4
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    进入nocde3安装nacos节点3

    docker run -d \
    --name nacos_cluster_3 \
    --restart=always \
    -e PREFER_HOST_MODE=hostname \
    -e MODE=cluster \
    #此节点的端口
    -e NACOS_APPLICATION_PORT=8848 \
    #集群所有的ip
    -e NACOS_SERVERS="10.19.11.215:8848 10.19.11.217:8848 10.19.23.114:8848" \
    #使用mysql存储
    -e SPRING_DATASOURCE_PLATFORM=mysql \
    #mysql的地址
    -e MYSQL_SERVICE_HOST=11.22.33.44 \
    #mysql端口
    -e MYSQL_SERVICE_PORT=3306 \
    #mysql用户名
    -e MYSQL_SERVICE_USER=nacos_mysql \
    #mysql密码
    -e MYSQL_SERVICE_PASSWORD=nacos_pwd \
    #nacos库名字
    -e MYSQL_SERVICE_DB_NAME=cloud_nacos \
    #此节点的内网ip,每个节点的ip都不一样
    -e NACOS_SERVER_IP=10.19.23.114 \
    #挂载的端口,nacos2.0新增了9848,9849端口
    -p 8848:8848 \
    -p 9848:9848 \
    -p 9849:9849 \
    nacos/nacos-server:v2.0.4
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    这样我们便得到了三个nacos的访问端口

    10.19.11.215:8848  node1
    10.19.11.217:8848  node2
    10.19.23.114:8848  node3
    
    • 1
    • 2
    • 3

    3:使用nginx配置负载均衡

    编辑nginx.conf文件

    stream {
    	#客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
        upstream nacosGrpc {
            server 10.19.11.215:9848;
            server 10.19.11.217:9848;
            server 10.19.23.114:9848;
        }
    
        server {
        	#nginx暴露的grpc端口
            listen 9848;
            proxy_pass nacosGrpc;
        }
    }
    
    events {
        worker_connections  1024;
    }
    
    http {
    	#nacos UI 8848端口
       upstream nacosClu {
            server 10.19.11.215:8848;
            server 10.19.11.217:8848;
            server 10.19.23.114:8848;
        }
    
        server {
            listen       8848;
            # 需要访问nacos UI的Ip
            server_name  127.0.0.1;
    
            location / {
                proxy_pass http://nacosClu;
            }
       }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    这样在微服务中即可直接指定nginx暴露的8848,9848端口进行负载均衡使用。

  • 相关阅读:
    csp202009-1称检测点查询(java实现)
    18. 注入 Servlet、Filter、Listener
    gorm的自动化工具gen
    MM32F0020 UART1硬件自动波特率的使用
    原生js拖拽滑动条
    【装箱问题】基于Shuffled Complex Evolution (SCE) 算法解决装箱问题 (BPP)附matlab代码
    BCSP-玄子Share-Java框基础_工厂模式/代理模式
    10月20日,每日信息差
    如何通过实际操作来加深对Linux命令和概念的理解?
    WPF控件模板
  • 原文地址:https://blog.csdn.net/qq_41316955/article/details/125233810