SpringCloud Alibaba NacosNacos集群和持久化配置
一、Nacos集群环境搭建
官网:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
Nacos三种部署模式:(默认自带是嵌入式数据库derby)
- 单机模式-用于测试和单机使用
- 集群模式-用于生产环境,确保高可用
- 多集群模式-用于多数据中心模式
支持MySQL数据源:
- 安装数据库版本5.6.5+
- 初始化mysql数据库,数据库初始文件nacos-mysql.sql
- 修改conf-application.properties文件,增加支持mysql数据源配置,添加mysql数据源的URL、用户名和密码。
1、Windows版本 Nacos启动
2、Derby到MySQL切换步骤:
①执行脚本:D:\application\nacos\conf\nacos-mysql.sql(数据库全名 = nacos_config;表名称 = config_info )
- SQL语句位置:
- SQL语句(所有表都需要执行)
执行SQL语句并更改数据库连接
-
修改配置:(本人本地配置)C:\办公工具\nacos\conf\application.properties
1、修改数据库连接地址、用户名、密码
############# spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user=root db.password=jiao123456
A、Nacos中添加一条数据:
B、mysql数据库中查看表config_info:
Linux版Nacos+MySQL生产环境配置:
需要1个Nginx+3个Nacos注册中心+1个mysql(待补充)
在Linux环境下进行操作:
注意:
原Windows连接的数据库操作已经执行,所以此处不再赘述。
1、Linux 环境上 上传安装包nacos-server-1.4.2.tar.gz
2、解压操作: tar -zxvf nacos-server-1.4.2.tar.gz
3、备份修改文件
A startup.sh
修改信息如下:
修改启动脚步,添加端口参数选项
nacos本质是springboot项目,所以端口信息以及启动配置文件都在conf下的application.properties文件中定义的server.port定义服务器端口(可以直接修改源文件中的server.port值)然后运行启动脚本
vim ./startup.sh
B、cluster.conf.example
添加nacos集群节点地址到配置文件中
将 conf下的新建一个cluster.conf并且填入nacos的地址
ip:端口
这里就以一台服务器ip为不同端口模拟集群 (修改自己的服务器IP地址)
10.136.1.AAA:3333
10.136.1.AAA:4444
10.136.1.AAA:5555
启动命令:
./startup.sh -P 3333
./startup.sh -P 4444
./startup.sh -P 5555
启动后即可查看页面网址:http://IP:端口/nacos
本人测试好像有问题,查看其他人文档端口都是生效状态;后续需要处理此处问题。
如果对Nginx还不熟悉看我的nginx专栏的一些案例
第四步、使用Nginx代理3台nacos
https://blog.csdn.net/qq_41813208/article/details/108710228?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242
参考网址:
https://www.cnblogs.com/exmyth/p/13495841.html
https://blog.csdn.net/u010046908/article/details/101050759
https://blog.csdn.net/u010031939/article/details/102907869
参考资料
https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
学习网址:
https://blog.csdn.net/qq_41813208/article/details/108710228?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242
二、实现熔断与限流。(Sentinel)
(1)简介和安装Sentinel控制台
Sentinel是:面向云原生微服务的高可用流控防护组件【等于之前学的Hystrix】
官网:https://github.com/alibaba/Sentinel
官方中文介绍:https://github.com/alibaba/Sentinel/wiki/介绍
Sentinel 的主要特性:
下载地址: https://github.com/alibaba/Sentinel/releases/ 【版本1.8.1】
可以做什么:服务雪崩、服务降级、服务熔断、服务限流。
Sentinel 分为两个部分:
- 核心库(Java 客户端)不依赖任何框架/库,能够运行于所有 Java 运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。
- 控制台(Dashboard)基于 Spring Boot 开发,打包后可以直接运行,不需要额外的 Tomcat 等应用容器。
启动:在下载路径cmd-> java -jar sentinel-dashboard-1.8.1.jar
登录:http://localhost:8080/ 用户名/密码:sentinel/sentinel
参考网址:
https://blog.csdn.net/sum_12/article/details/114881199