【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的菜单了

相关推荐
lllsure2 天前
Alibaba Sentinel
微服务·sentinel
梵得儿SHI3 天前
SpringCloud 核心组件精讲:Sentinel 熔断限流全攻略-流量控制、熔断降级、热点参数限流(含 Dashboard 部署 + 项目集成实操)
java·spring cloud·sentinel·熔断降级·热点参数限流·微服务流量控制
oMcLin3 天前
如何在 RHEL 8 服务器上配置并调优 Redis Sentinel 高可用集群,确保数据一致性
服务器·redis·sentinel
机灵猫7 天前
守卫系统的最后一道防线:深入 Sentinel 限流降级与熔断机制(对比 Hystrix)
java·hystrix·sentinel
weixin_439706257 天前
spring boot+nacos+gateway+sentinel的简单例子
spring boot·gateway·sentinel
墨白曦煜9 天前
微服务容错设计:Sentinel 全局异常处理与 Feign 降级策略的边界权衡
微服务·架构·sentinel
没有bug.的程序员9 天前
Spring Cloud Gateway 架构与执行流程:从原理到性能优化的深度探索
微服务·云原生·eureka·性能优化·架构·sentinel·服务发现
杜子不疼.9 天前
Spring Cloud 微服务实战:Nacos+Sentinel+Gateway 核心组件详解
spring cloud·微服务·sentinel
enjoy编程11 天前
Spring Boot 4 如何使用Sentinel进行限流-II【基于Sentinel Spring MVC Adapter实现】
spring boot·spring·sentinel·服务限流·webmvc·servlet 6.x
没有bug.的程序员11 天前
Sentinel 流控原理深度解析:构建高可用微服务的底层架构
java·算法·微服务·云原生·架构·sentinel·负载均衡