• 系列学习 SpringCloud-Alibaba 框架之第 3 篇 —— Nacos mysql支持、搭建集群


    1、mysql支持

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

    1、初始化 MySQL 脚本(MySQL 版本要求 5.6.5+)

    在 nacos 的 conf 目录下,有一个 nacos-mysql.sql 文件,里面是数据库初始化脚本。

     执行完之后如图:

     2、修改数据源配置

    修改 conf/application.properties文件,增加支持 mysql 数据源配置(目前只支持mysql),在结尾添加mysql数据源的url、用户名和密码。

    1. # MySQL 数据库配置
    2. spring.datasource.platform=mysql
    3. db.num=1
    4. db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
    5. db.user=root
    6. db.password=root

     重启 nacos 服务即可。

    3、验证

    我们在【权限控制】->【用户列表】里创建一个新用户,如图:

     然后打开 MySQL 数据库验证:

    完美  perfect!

    2、搭建集群

    单机模式 - 用于测试和单机试用。
    集群模式 - 用于生产环境,确保高可用。

    单机版环境下,我们可以使用 nacos 默认的嵌入式数据库即可,但是集群环境下,是不能使用默认的配置的,这时候就需要 MySQL 做支持,让集群中的 nacos 注册中心连接到相同的数据库即可

    集群至少需要搭建 3 台 nacos 服务器。

    1、复制 3 份 nacos 文件

    我们按照 nacos 的目录复制出 3 份,待会端口号依次是:8849、8859、8869注意这里使用之前配置好 MySQL 数据源的文件夹,也就是 nacos。如果不是的话,那就每个目录都配置 MySQL 数据源即可。注意:nacos 2.0 以后,会占用两个连续端口: ${server.port} 和 ${server.port} + 1,也就是不能使用连续的端口号做集群!(否则报错:Address already in use: bind

    2、依次修改每份 nacos 的 conf 目录,增加 cluster.conf 文件

    按照 conf 目录下给出的【cluster.conf.example】,复制出一份,名字为【cluster.conf】,内容如下(根据自己电脑 IP 修改,也可以使用 127.0.0.1 但是不建议使用这个 IP):

    192.168.3.51:8849
    192.168.3.51:8859
    192.168.3.51:8869

    然后将这个 【cluster.conf】文件,复制到其它 2 份 nacos 的 conf 目录下。

    3、修改 startup.cmd 的启动模式

    把 bin 目录下的 startup.cmd 的启动模式修改成 cluster:

    (否则需要在启动的时候增加参数,在Windows 下启动需要使用 cmd 命令,进入到该文件目录后,运行指定文件,然后在后面加参数,命令如下:startup.cmd -m cluster) 

    4、修改【application.properties】端口号

    依次修改每个目录下的【application.properties】配置文件的端口号。

    就这样,集群环境就搭建好了。依次启动 3 个服务。

    随便进入一个集群对应的管理后台:http://192.168.3.51:8859/nacos/index.html

    请使用账号、密码为 nacos 的登录,然后点击【集群管理】-》【节点列表】可以看到:

     说明集群搭建成功!

    3、Nginx 负载均衡实现高可用

    可以使用 Nginx 做负载均衡。详细可以查阅其它资料。或者参考博客:

    Nginx 反向代理、负载均衡配置、Location正则表达式_流放深圳的博客-CSDN博客

  • 相关阅读:
    举个栗子~Tableau 技巧(243):创建自动排列的图表矩阵
    流水线的dependence问题(指令相关性)
    行业分析网站-网站分析软件-免费网站详细数据分析软件
    范围求和 II
    程序员如何在职场上少走弯路?
    分库分表的几个常见方面
    版权登记范围
    C++初阶(九)内存管理
    开发APP的流程是怎样的
    阅读笔记——A Frustratingly Easy Approach for Entity and Relation Extraction
  • 原文地址:https://blog.csdn.net/BiandanLoveyou/article/details/126834046