• Nacos-搭建生产可用的Nacos集群


    本节详细探讨如何搭建一个生产可用的Nacos集群。讨论的内容主要包括:使用MySQL作为存储持久化数据,以及如何搭建Nacos集群。

    Nacos默认数据存储在内嵌数据库Derby中,不适合用于生产环境,官方推荐的最佳实践是使用带有主从的高可用数据库集群。

    生产环境需使用MySQL作为后端存储,因此需要搭建MySQL。生产中,MySQL建议至少主备模式,高可用MySQL更佳。

    一、部署架构图

    其中包含3个nacos节点,然后一个负载均衡器代理3个Nacos。这里使用nginx作为负载均衡器。

    二、三个nacos节点的地址

    | 节点   | ip            | port |
    | ------ | ------------- | ---- |
    | nacos1 | 192.168.10.44 | 8845 |
    | nacos2 | 192.168.10.44 | 8846 |
    | nacos3 | 192.168.10.44 | 8847 |

     

    三、Nacos集群搭建步骤
    1.搭建MySQL集群并初始化数据库表
    找到 conf/nacos-mysql.sql ,将其导入到数据库中。

    2.下载解压nacos
    将解压后的nacos复制3份出来,即3个实例

     

    3.进入每个实例,分别修改applicatio.properties配置文件,要修改的地方有两处,一个是端口号,

     

    另一个需要将mysql的nacos的配置访问数据库连接信息加入到尾部

    db.num=1
    db.url.0=jdbc:mysql://192.168.10.44:33064/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
    db.user.0=xk-dev
    db.password.0=xk-dev

    nacos2和nacos3也按照上面的步骤修改,只不过端口号分别换成8846和8847即可。

    4.添加并修改cluster文件

    将cluster.conf.example复制为cluster.conf文件,并在cluster.conf中作如下的配置

    ##推荐ip:port用具体的局域网ip,慎用127.0.0.1、localhost
    127.0
    .0.1:8845 127.0.0.1.8846 127.0.0.1.8847


    顾名思义这里表示启动的时候,nacos会寻找这个cluster.conf的配置文件中的信息,符合条件的实例就会加入到集群中

    同样的操作,在nacos2和nacos3中添加上面的这个配置文件,或者直接复制过去也可

    5.分别启动8845、8846、8847 nacos节点

    D:dev
    acos1instartup.cmd
    D:dev
    acos2instartup.cmd
    D:dev
    acos3instartup.cmd

     

    启动成功后,分别访问8845、8846、8847 nacos节点是否启动成功

    http://localhost:8845/nacos/
    http://localhost:8846/nacos/
    http://localhost:8847/nacos/

     

    6.nginx反向代理
    修改conf/nginx.conf文件,配置如下:

    upstream nacos-cluster {
        server 127.0.0.1:8845;
        server 127.0.0.1:8846;
        server 127.0.0.1:8847;
    }
    
    server {
        listen       80;
        server_name  localhost;
    
        location /nacos {
            proxy_pass http://nacos-cluster;
        }
    }

     

    启动nginx

    cd D:dev
    ginx-1.18.0
    d:
    start nginx

     

    7.测试
    访问 http://localhost/nacos 可看到Nacos的登录页,登录后即可正常使用Nacos。


    8.Spring Cloud Alibaba连接Nacos集群

    代码中application.yml文件配置如下:

    spring:
      cloud:
        nacos:
          server-addr: localhost:80 # nacos地址


    9.优化&最佳实践
    实际项目中,建议为Nacos绑定一个域名(域名解析 & 修改NGINX配置的server_name),这样即使未来Nacos Server需要迁移,也无需修改Nacos Client端的配置;

    本文为了演示方便,将所有实例部署在了一台机器中;实际项目中,请将Nacos部署在不同机器中,从而实现更好的容灾与隔离

  • 相关阅读:
    TypeScript
    Jmeter注册100个账户的三个方法
    Jmeter之cookie处理的2中方法
    Jmeter_JsonPath 提取器
    Jmeter_正则表达式提取器_提取数组 & For Each 控制器
    Jmeter_正则表达式提取器_提取单组数据
    Jmeter_选项_函数助手_RandomString的用法
    Jmeter_正则表达式
    Jmeter_选项_函数助手对话框_CSVRead
    Jmeter_请求原件之参数化CSV
  • 原文地址:https://www.cnblogs.com/linjiqin/p/15363026.html
Copyright © 2020-2023  润新知