【Sentinel】结合Nacos实现配置持久化

>Sentinel是阿里巴巴开源的轻量级流量控制组件,用于实现系统的限流、熔断和降级保护。

目录

一、环境配置

[1.1 docker配置](#1.1 docker配置)

[1.2 快捷优化](#1.2 快捷优化)

[1.3 Sentinel持久化](#1.3 Sentinel持久化)


一、环境配置

1.1 docker配置

目前我的系统是Ubuntu系统,各个系统之间有一点不一样的步骤,按需查看

sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpgcurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg\] https://download.docker.com/linux/ubuntu (lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable dockersudo systemctl start docker

安装成功后,配置镜像加速器

sudo mkdir -p /ect/docker
vim /ect/docker/deamon.json

复制代码
{
    "registry-mirrors": [
      "https://mirror.ccs.tencentyun.com",
      "https://hub.rat.dev/",
      "https://docker.1panel.live/",
      "https://docker.m.daocloud.io",
      "https://docker.nju.edu.cn",
      "https://dockerproxy.com"
    ],
    "tls": true,
    "tlscacert": "/etc/docker/certs.d/ca.pem",
    "tlscert": "/etc/docker/certs.d/server-cert.pem",
    "tlskey": "/etc/docker/certs.d/server-key.pem",
    "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2376"]
}

配置TLS证书,设置只能开发人员访问。TLS配置这里不再陈述,如有需要读者可自行搜索。

这里说一下可能出现的问题,配置成功后没有监听2375端口,需要删除旧配置

rm /etc/systemd/system/docker.service.d/override.conf
sudo systemctl daemon-reload
sudo systemctl restart docker

从您的本地机器连接时,需要以下文件:

配置docker-compose插件

先去下载服务:https://github.com/docker/compose/releases

接着上传到/usr/local/bin目录下

sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

接下来按照规范,我们去建立对应的数据卷目录

1.2 快捷优化

docker-compose虽然配置成功了,但是每次启动都要输入一大串命令,感觉很是麻烦,所以我们可以写一个shell函数。

注意:执行下面命令时,一定要先备份一份/root/.bashrc文件!

复制代码
cat >> /root/.bashrc <<EOF
up() {
    docker compose -f "/app/docker-compose.yml" up -d "\$@"
}
down() {
    docker compose -f "/app/docker-compose.yml" down "\$@"
}
EOF

source /root/.bashrc

这样的话以后启动容器,就可以在任意目录下执行了

up mysql

接口下我们在mysql数据库中导入若依对应的sql表结构,采用合并一次性导入。

在对应的sql目录下,打开cmd窗口

type *.sql all.sql

1.3 Sentinel持久化

我们先将sentinel的源码下载到本地

https://github.com/alibaba/Sentinel/releases/tag/1.8.1

修改sentinel-dashboard的pom文件

将test -> rule -> nacos目录拷贝到main目录下

修改NacosConfig的代码

在配置文件里面添加路径配置

nacos.addr=localhost:8848

修改v2包下面的控制类

修改前端页面代码

打包部署完成后,就可以看到naocs的菜单了

相关推荐
会飞的大可6 天前
Redis Sentinel 高可用方案在WMS仓储管理系统的应用
redis·sentinel
zs宝来了7 天前
Redis 哨兵机制:Sentinel 原理与高可用实现
redis·sentinel·高可用·源码解析·哨兵
梵得儿SHI8 天前
SpringCloud 秒杀系统生产级落地:Sentinel+Redis 联合优化,从限流防刷到库存闭环,彻底解决超卖 / 宕机 / 恶意刷
redis·spring cloud·sentinel·分布式限流·百万级·瞬时高并发·产级秒杀系统解决方案
8Qi89 天前
Redis哨兵模式(Sentinel)深度解析
java·数据库·redis·分布式·缓存·sentinel
无名-CODING9 天前
Java 爬虫零基础入门:从 HTTP 到 Jsoup 实战
spring cloud·gateway·sentinel
会飞的大可10 天前
Spring Cloud Alibaba全景:Nacos、Sentinel、Seata整合实战
sentinel·wpf
无名-CODING10 天前
SpringCloud 网关与熔断:Gateway + Sentinel 快速入门
spring cloud·gateway·sentinel
yoyo_zzm15 天前
SpringCloud Gateway 集成 Sentinel 详解 及实现动态监听Nacos规则配置实时更新流控规则
spring cloud·gateway·sentinel
短剑重铸之日16 天前
深入理解Sentinel: 01 一次服务雪崩问题排查经历
java·sentinel·降级熔断