• 【SpringCloud】Spring Cloud Alibaba 之 Nacos集群和持久化(二十九)


    Nacos支持三种部署模式

    • 单机模式 - 用于测试和单机试用。
    • 集群模式 - 用于生产环境,确保高可用。
    • 多集群模式 - 用于多数据中心场景。

      官网查看:https://nacos.io/zh-cn/docs/deployment.html

    单机模式

        启动命令:sh startup.sh -m standalone

    单机模式支持mysql

    在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力,具体的操作步骤:

    • 1.安装数据库,版本要求:5.6.5+
    • 2.初始化mysql数据库,数据库初始化文件:nacos-mysql.sql(在nacos根目录的conf目录下)
    • 3.修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。
    1 spring.datasource.platform=mysql
    2 
    3 db.num=1
    4 db.url.0=jdbc:mysql://11.162.196.16:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
    5 db.user=nacos_devtest
    6 db.password=youdontknow

    集群模式下运行Nacos

      官网架构图,如下:

      

      可以看到官网也是推荐部署三个Nacos节点,节点前面使用一个VIP(虚拟IP代理),来访问三个节点

      本例Nacos集群结构如下:

      使用Nginx(Nginx也可以是高可用模式的,参考:【Web】Keepalived+Nginx 实现高可用集群  )反向代理三个节点,三个节点分别连同一个高可用的MySQL数据库

      

      示例

    准备数据库

      1、准备一个MySQL数据库(本例使用5.6版本的,5.8版本的需要更改JDBC驱动,重新编译)

        具体步骤见前面:单机模式支持mysql

    搭建Nacos集群

      环境:CentOS 7.4

      本例在同一台机器上搭建三个节点8845、8846、8847,机器局域网ip:192.168.1.4

      1、在git(https://github.com/alibaba/nacos)上下载安装包,nacos-server-1.2.1.tar.gz

      2、解压压缩包,复制三份解压后的文件

      3、在三个节点中,分别复制conf目录中cluster.conf.example文件,命名为:cluster.conf,三个节点内容都是一样的,如下:

    1 #it is ip
    2 #example
    3 # 不能使用127.0.0.1,可能出问题
    4 # 必须是Linux命令hostname -i能识别的ip
    5 192.168.1.4:8845
    6 192.168.1.4:8846
    7 192.168.1.4:8847

      4、修改三个节点的 application.properties 配置文件内容,主要修改内容如下:

    1 server.port=8845
    2 
    3 db.num=1
    4 
    5 db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
    6 db.user=root
    7 db.password=123456

        其他节点文件,只有端口不一样

      5、分别启动三个节点

        启动命令:sh ./bin/startup.sh

       6、测试,使用浏览器访问地址:http://192.168.1.4:8845/nacos

        

    Nginx反向代理

      1、安装一个Nginx,参考【Web】Nginx下载与安装

      2、编辑Nginx的配置文件,nginx.conf,内容如下:

    upstream nacos-cluster {
        server 192.168.1.4:8845;
        server 192.168.1.4:8846;
        server 192.168.1.4:8847;
    }
    
    server {
        listen       80;
        listen  [::]:80;
        server_name  localhost;
    
        #charset koi8-r;
        #access_log  /var/log/nginx/host.access.log  main;
    
        location / {
            
            proxy_pass      http://nacos-cluster;
        }
    }

      3、启动Nginx服务

      4、浏览器使用地址:http://192.168.1.4/nacos,访问nginx,能正常访问

      5、查看Nacos的Web界面-〉集群管理-〉节点列表,可以看到节点信息、节点状态等

        

    Nacos客户端测试  

      1、搭建一个Nacos客户端项目,参考:【SpringCloud】Spring Cloud Alibaba 之 Nacos配置中心(二十八)

      2、项目配置如下:

     1 spring:
     2   application:
     3     name: nacos-config-client
     4   cloud:
     5     nacos:
     6       discovery:
     7         server-addr: 192.168.1.4:80
     8       config:
     9         server-addr: 192.168.1.4:80
    10         # 配置内容文件的数据格式,默认值:properties
    11         file-extension: yaml

      3、在nacos服务中,新增一个配置dataId为:nacos-config-client-dev.yaml

      4、启动项目,查看Nacos的Web界面中,服务是否注册进来

      5、浏览器访问项目,查看是否正确获取的了配置文件内容

    多集群模式

    Nacos支持NameServer路由请求模式,通过它您可以设计一个有用的映射规则来控制请求转发到相应的集群,在映射规则中您可以按命名空间或租户等分片请求...

  • 相关阅读:
    面向对象编程技术的总结和理解(c++)
    对类的理解(c++)
    对指针和引用的理解(c++)
    3DES对称加密算法(ABAP 语言实现版)
    org.springframework.util.Base64Utils线程安全问题
    SAP传输请求自动发布
    ABAP WB01 BDC ”No batch input data for screen & &“ ”没有屏幕 & & 的批输入数据“
    SAP S/4 1610 IDES + HANA 2.0 安装
    ABAP语言实现 左移 <<、无符号右移 >>> 位移操作
    ABAP表抛FTP通用程序
  • 原文地址:https://www.cnblogs.com/h--d/p/12926803.html
Copyright © 2020-2023  润新知