Nginx + Keepalived + Nacos + Mysql(HA) 搭建生产环境可用的Nacos集群

1. Nacos 的集群模式

  • 单机模式 - 用于测试和单机试用。

  • 集群模式 - 用于生产环境,确保高可用。

  • 多集群模式 - 用于多数据中心场景。

1.1 针对集群部署模式,Nacos文档中也提供了三种集群部署方案

  1. http://ip1:port/openAPI 直连ip模式:

    • 特点: ip+端口进行部署,客户端直接连接Nacos的ip

    • 缺点: 只能连接单台 Nacos ,故障切换无法实现。

  2. http://Vip:port/openAPI 挂载虚拟IP模式:

    • 特点: 配合 KeepAlived,Nacos真实ip都挂载虚拟Ip下,客户端访问Vip发起请求。当主Nacos宕机后,备用Nacos接管,实现高可用。

    • 缺点: 实现了高可用,但是无法实现复杂均衡。

  3. http://www.nacostest.com:port/openAPI 挂载虚拟IP+域名模式:

    • 特点: 为虚拟ip绑定一个域名,当Nacos集群迁移时,客户端配置无需修改。

    • 缺点: 实现了高可用,但是无法实现复杂均衡。

2. Nginx + Keepalived + Nacos + Mysql(HA) 搭建生产环境可用的Nacos集群

2.1 前提步骤 - 组建Nacos集群

  • Tips

    • 3个或3个以上Nacos节点才能构成集群。

    • 建议 (Nginx + Keepalived (*2)) + Nacos(*3 + Mysql), 结合虚拟IP来组建集群。

    • 下载并解压 nacos 的jar包后, 直接讲解压后的 nacos 目录 copy 出三份。

  1. 导入初始化脚本

     * 找到 conf/nacos-mysql.sql ,将其导入到数据库中。
    
     * 或者从网上下载: https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql
    
  2. 配置数据库连接

    找到 conf/application.properties ,添加如下内容:

     ```
     # 表明用MySQL作为后端存储
     spring.datasource.platform=mysql
    
     # 有几个数据库实例
     db.num=2
    
     # 第1个实例的地址
     db.url.0=jdbc:mysql://11.162.196.16:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
     # 第2个实例的地址
     db.url.1=jdbc:mysql://11.163.152.9:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
     db.user=nacos_devtest
     db.password=nacos
     ```
    
  3. 配置集群配置文件

    • 在nacos的解压目录 nacos/的conf目录下,有配置文件 cluster.conf,请每行配置成ip:port。(请配置3个或3个以上节点)

      # ip:port
      200.8.9.16:8848
      200.8.9.17:8848
      200.8.9.18:8848
      
  4. 启动集群

    • 集群模式

      • 使用内置数据源

        sh startup.sh -p embedded

      • 使用外置数据源

        sh startup.sh

    • JVM 参数配置

      默认配置为: JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

    • Tips: 集群模式中至少三台启动成功了,整个集群才能真正启动成功</

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值