nacos2集群通过nginx stream做负载均衡

一、项目配置使用nacos集群

项目修改配置application.properties,指向多台nacos

spring.cloud.nacos.discovery.server-addr=10.10.10.197:8848,10.10.10.198:8848,10.10.10.199:8848

测试:

停止nacos1,nacos2,项目正常。

停止nacos3后,项目报错。再重启nacos3,稍等一会,项目正常。(再启动全部nacos节点)

多节点nacos可以通过nginx代理或使用VIP,既然server-addr可已配置多个IP,感觉没必要了。

二、nacos2集群通过nginx做负载均衡

stream模块和http模块是同级的,(9849端口不用代理)

nginx IP:10.10.10.196

# TCP/UDP代理和负载均衡的流模块。
stream {
    # nacos TCP负载均衡
    upstream nacosGrpc9848 {
        server 10.10.10.197:9848;
        server 10.10.10.198:9848;
        server 10.10.10.199:9848;
    }
  
    # nacos客户端gRPC请求服务端端口
    server {
        listen 9848;
        proxy_pass nacosGrpc9848;
    }
}

http {
    # nacos http负载均衡
    upstream nacosCluster {
        server 10.10.10.197:8848;
        server 10.10.10.198:8848;
        server 10.10.10.199:8848;
    }

    # nacos服务器8848端口
    server {
        listen     8848;
        server_name localhost;
        location / {
            proxy_pass http://nacosCluster/;
        }
    }
}

项目修改配置application.properties,指向nginx代理的nacos集群

spring.cloud.nacos.discovery.server-addr=10.10.10.196:8848

参考

Nginx代理Nacos集群部署

Nginx代理Nacos集群部署_nacos集群nginx配置-优快云博客

Nacos最新2.x集群安装

Nacos最新2.x集群安装 - 简书

nacos2.x集群版搭建

nacos2.x集群版搭建_nacos2集群搭建-优快云博客

### 启动Nacos集群的步骤 要启动Nacos集群,需要进行一系列的配置和操作。以下是详细的步骤: 1. **下载并解压Nacos** 从[Nacos GitHub Release页面](https://github.com/alibaba/nacos/releases)下载适合的版本,例如`nacos-server-2.2.3.zip`,然后解压到目标目录。 2. **配置数据库** Nacos集群模式需要使用数据库来存储数据,推荐使用MySQL。 - 创建数据库和表结构,参考官方提供的SQL脚本。 - 修改`conf/application.properties`文件中的数据库连接信息,例如: ```properties spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://localhost:3306/nacos_config?useSSL=false&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.user=root db.password=your_password ``` 数据库密码不能使用引号,并且确保`useSSL=false`以避免连接问题[^1]。 3. **配置集群节点** 在集群模式下,需要指定集群中所有节点的IP地址。修改`cluster.conf`文件(位于`conf/`目录下),添加集群节点的IP和端口: ``` 192.168.111.130:9848 192.168.111.131:9848 192.168.111.132:9848 ``` 确保使用实际的IP地址,不要使用`127.0.0.1`或`localhost`,因为这会导致集群无法正确通信[^1]。 4. **启动Nacos集群** 在每个节点上启动Nacos服务。可以通过修改启动脚本`startup.sh`(Linux)或`startup.cmd`(Windows)来设置集群模式: ```bash # Linux MODE="cluster" ``` 或者在Windows上: ```cmd set MODE="cluster" ``` 然后执行启动脚本,Nacos将会以集群模式启动[^3]。 5. **配置反向代理(可选)** 如果需要对外提供服务,可以使用Nginx作为反向代理。配置Nginx的`stream`模块来负载均衡: ```nginx stream { upstream nacos-tcp { server 192.168.111.130:9848; server 192.168.111.131:9848; server 192.168.111.132:9848; } server { listen 10999; proxy_pass nacos-tcp; } } ``` 这样可以通过Nginx的10999端口访问Nacos集群[^2]。 6. **验证集群状态** 启动完成后,访问Nacos控制台(默认地址为`http://<nacos-server-ip>:8848/nacos`),查看集群节点的状态是否正常。 ### 踩过的坑 - **数据库密码问题**:数据库密码不能使用引号,否则会导致连接失败。 - **集群IP地址问题**:集群节点的IP地址不能使用`127.0.0.1`,必须使用实际的网络IP地址。 - **MySQL连接问题**:确保`useSSL=false`,避免因SSL配置不当导致连接失败[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值