Sentinel集成Apollo持久化配置的技术方案

作者本人,简放视野

https://github.com/bert82503

背景

Sentinel 介绍

Sentinel 是流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。

【场景】业务服务稳定性保障,流量治理(流量控制、限流、熔断降级、系统负载保护)。

业务研发希望,通过Sentinel提供的流控防护能力,保障业务核心服务的稳定性。

历史原因,公司使用Apollo作为配置中心,但Sentinel开源框架和社区并未提供Apollo的持久化配置方案。

Sentinel

https://sentinelguard.io/zh-cn/

Sentinel,面向分布式 、多语言异构化服务架构流量治理组件

Sentinel,A powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务高可用流控防护组件)

特性一览

丰富的应用场景

阿里巴巴 10 年双十一积累的丰富流量场景,包括秒杀、双十一零点持续洪峰、热点商品探测、预热、消息队列削峰填谷等多样化的场景

易于使用,快速接入

简单易用,开源生态广泛,针对 Dubbo、Spring Cloud、gRPC、Zuul、Reactor、Quarkus 等框架只需要引入适配模块即可快速接入

多样化的流量控制

资源粒度、调用关系、指标类型、控制效果等多维度的流量控制

可视化的监控和规则管理

简单易用的 Sentinel 控制台

微服务生态全景图微服务生态全景图

开源的实现方案调研

sentinel-dashboard-push

rowstop

基于Sentinel 1.8.7,支持双向持久化到配置中心。支持 Gateway 模式与常规模式,支持原始模式、Nacos、Apollo

sentinel-dashboard-apollo

fengjx

sentinel-dashboard 定制版,支持 apollo 持久化配置

sentinel-dashboard-X

finefuture

Sentinel Dashboard 集成多数据源版本

apollo-sentinel-dashboard

hosaos

sentinel-dashboard整合apollo配置中心

微服务治理技术白皮书

微服务治理技术白皮书免费下载_在线阅读_藏经阁-阿里云开发者社区

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是Sentinel持久化配置方法: 1. Sentinel提供多种不同的数据源来持久化规则配置,包括file,redis、nacos、zk。 2. 在生产环境中使用Sentinel,需要做一些自适应的改变,具体详细细节可以参考官方的一篇文章《在生产环境中使用 Sentinel》。 3. Sentinel持久化有两种方法:本地和nacos。其中,本地持久化需要在启动时指定规则文件路径,而nacos持久化需要在配置文件中指定nacos的地址和命名空间。 4. Sentinel规则持久化到Nacos的具体实现方法如下: - 在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-datasource-nacos</artifactId> <version>x.y.z</version> </dependency> ``` - 在application.properties或application.yml文件中添加以下配置: ```yaml # Nacos server address spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 # Nacos namespace, if not set, use public namespace spring.cloud.nacos.config.namespace=your-namespace # Nacos config group spring.cloud.nacos.config.group=DEFAULT_GROUP # Nacos config data ID spring.cloud.nacos.config.data-id=sentinel-${spring.profiles.active}.json # Enable Nacos config spring.cloud.nacos.config.enabled=true # Enable Nacos discovery spring.cloud.nacos.discovery.enabled=true ``` - 在Nacos控制台中创建对应的配置文件,例如sentinel-dev.json,内容如下: ```json [ { "resource": "test", "limitApp": "default", "grade": 1, "count": 10, "strategy": 0, "controlBehavior": 0, "clusterMode": false } ] ``` - 在启动类中添加@EnableNacosConfig注解,启用Nacos配置中心。 5. 以上是Sentinel持久化配置的简单介绍,更多详细信息可以参考Sentinel官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简放视野

深度思考,简放视野。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值