美文网首页Spring Cloud Alibaba
生产环境当然要高可用,Alibaba Nacos 集群部署

生产环境当然要高可用,Alibaba Nacos 集群部署

作者: 邴越 | 来源:发表于2020-01-20 18:27 被阅读0次

    前面学习了单机模式下的启动,生产环境中部署nacos肯定是使用集群模式cluster保证高可用。
    官方文档的集群部署推荐使用VIP+域名模式,把所有服务列表放到一个vip下面,然后挂到一个域名下面。

    三种部署方式

    官方推荐,nacos集群一般有3种方式,三种部署方式在访问形式的区别如下,

    http://ip1:port/openAPI 直连ip模式,机器挂则需要修改ip才可以使用
    http://VIP:port/openAPI 挂载VIP模式,直连vip即可,下面挂server真实ip,可读性不好
    http://nacos.com:port/openAPI 域名 + VIP模式,可读性好,而且换ip方便,推荐模式

    官方建议至少3个或3个以上的节点来实现集群模式。

    修改启动端口

    程序启动默认占用的端口是8848,我们可以对端口进行修改,打开conf文件下的application.properties,修改启动端口。

    现在演示使用单机伪集群模式,所以通过修改端口的方式来部署这3个实例,端口分别为:8848、8858、8868。

    配置集群配置文件

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

    # ip:port
    58.18.17.155:8848
    58.18.17.155:8858
    58.18.17.155:8868
    

    配置 MySQL 数据库

    生产使用建议至少主备模式,或者采用高可用数据库。

    初始化 MySQL 数据库

    sql语句源文件在distribution/conf/目录下的nacos-mysql.sql,在本地初始化对应的数据库。

    添加数据库配置

    配置文件在nacos的conf目录下的application.properties,添加以下配置

    db.num=1
    db.url.0=jdbc:mysql://58.18.17.155:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
    db.user=root
    db.password=root
    
    

    db.num 为数据库实例数量 如果有多个数据库实例通过 db.url.0、db.url.1..... 指定不同的数据库链接。

    启动服务器

    默认的没有参数模式,就是集群模式,启动命令:
    sh startup.sh

    关闭服务器,可以直接执行
    sh shutdown.sh

    配置Nginx服务

    修改conf/nginx.conf配置

    upstream nacos {
        server 58.18.17.155:8848;
        server 58.18.17.155:8858;
        server 58.18.17.155:8868;
    }
    
    server {
        listen 80;
        server_name test.nacos.com;
        location / {
            proxy_pass http://nacos;
        }
    }
    
    

    配置域名 test.nacos.com 绑定VIP

    服务注册和配置

    服务注册

    curl -X PUT 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080
    

    服务发现

    curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instances?serviceName=nacos.naming.serviceName
    

    发布配置

    curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld
    

    获取配置

    curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
    

    集群管理

    3个节点都正常启动之后, 可以分别登录 各个web 界面查看 集群的节点、健康状态:

    http://58.18.17.155:8848/nacos/#/clusterManagement?dataId=&group=&appName=&namespace=&serverId=
    
    http://58.18.17.155:8858/nacos/#/clusterManagement?dataId=&group=&appName=&namespace=&serverId=
    
    http://58.18.17.155:8868/nacos/#/clusterManagement?dataId=&group=&appName=&namespace=&serverId=
    

    相关文章

      网友评论

        本文标题:生产环境当然要高可用,Alibaba Nacos 集群部署

        本文链接:https://www.haomeiwen.com/subject/hbzjzctx.html