系列文章目录
1、父工程创建
2、支付模块构建和热部署
3、消费者订单模块
4、服务注册中心-Eureka
5、zookeeper没学习
6、服务注册中心-Consul
7、Eureka、Consul异同
8、服务调用-Ribbon
9、服务调用-OpenFeign
10、服务降级-Hystrix
11、服务降级-Hystrix(二)
12、服务熔断-Hystrix
13、服务网关-Gateway
14-17 在git上做配置中心,没有学习
17、请求链路跟踪-Sleuth
18、Spring Cloud Alibaba-Nacos注册中心与配置中心
19、Spring Cloud Alibaba-Nacos集群和持久化配置
20、Sentinel流控
21、Sentinel熔断降级、热点key限流
22、SentinelResource配置
23、Sentinel 服务熔断与持久化
1. 简介
1.1 整体架构
1.2 为什么要做
重要的配置需要持久化在数据库中
2 Nacos集群配置
2.1 准备
- 1个Nignx+3个Nacos+1个Mysql数据库
- 三台虚拟机 ip地址配置、java环境配置完成
- 下载nacos Linux版使用Sshell传送到虚拟机,解压
2.2 集群的配置步骤
2.2.1 创建数据库
- 创建一个数据库
- 执行nacos/conf/nacos-mysql.sql SQL中的脚本
2.2.2 application.properties 配置
配置nacos/conf目录下的 application.priperties
vim application.properties
在配置文件中找到如下内容
#*************** Config Module Related Configurations ***************#
#这里的配置要根据自己的数据库来
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=1234
2.2.3 cluster.conf 配置
将nacos/conf/cluster.conf.example 复制一个为 cluster.conf
linux中nacos集群的配置文件位置cluster.conf
vim cluster.conf
#根据自己的实际配置(我用了三个虚拟机)
192.168.47.102:8847
192.168.47.103:8847
192.168.47.104:8847
2.2.4 配置Nginx
我的Nginx没有在虚拟机里,是Windows的
Nginx的配置,由它作为负载均衡器
2.2.5 启动nginx和nacos
在cmd中进入到Nginx的目录
start nginx #效果是一闪而过
在虚拟机中进入到/nacos/lib目录下(三台虚拟机都要启动一次)
./startup.sh
2.2.6 测试
1.通过nginx,访问nacos http://localhost:1111/nacos/(1111是nginx配置的,具体地址看你是如何配置的)
2. 查看【集群管理】的【节点列表】
3. 新建一个配置文件,然后查看是否持久化到数据库中了
4. 修改cloudalibaba-provider-payment9001
server:
port: 9001
spring:
application:
name: nacos-payment-provider
cloud:
nacos:
discovery:
server-addr: localhost:1111 #nacos的地址
management:
endpoints:
web:
exposure:
include: "*" #要做监控,暴露所有的端点
- 运行程序,查看微服务是否注册到了nacos