Sentinel-dashboard-X 实现Sentinel高可用及规则数据持久化

Sentinel-dashboard-X 实现dashboard高可用及规则数据持久化

Sentinel-dashboard-X源码
对于流控规则持久化,社区比较流行采用nacos进行配置管理,但实际上nacos配置最终还是存储在mysql等数据库config_info表中。

开源Sentinel-dashboard存在的问题

  • 1、nacos持久化方案,数据库中规则数据的修改不会被推送到sentinel客户端和dashboard中,需要在nacos配置界面点击发布。
  • 2、增加了nacos服务器的压力。
  • 3、引入nacos使系统变得复杂,耦合性变高,不能独立部署。
  • 4、规则在dashboard内存中,随着接入应用增多服务器资源消耗存在压力。
  • 5、流控规则全部存放在dashboard应用服务器内存中,不支持水平扩展和高可用。
  • 6、规则绑定资源主机,app机器数成百上千时维护困难。
  • 7、不支持规则手工实时同步到app主机。

解决方案

使用数据库作为规则持久方案。原因:

  • 1、数据库可靠性有保证,稳定性较好。
  • 2、数据库是数据存储的标配,通用性较好,扩展性方案成熟。
  • 3、实现方案更简单,避免跨系统调用,独立可用。
  • 4、dashboard只是一个控制台,规则存放在数据库表中,内存消耗少,且支持负载均衡,水平扩展。
  • 5、支持全局规则(ip,port为空)+ 主机规则相结合,更加灵活方便。

特性

  • 1、支持应用规则rule,监控数据metric持久化到数据库。
  • 2、dashboard只是一个控制台,规则存放在数据库表中,内存消耗少,且支持负载均衡,水平扩展。
  • 3、支持从dashoard发布规则实时推送到相应的sentinel客户端。
  • 4、支持界面手动同步规则到全部或指定主机,应用程序第一次连接dashboard时自动同步所有规则。
  • 5、支持全局规则(app级)配置及同步。配置【资源主机】为全部或空,则规则适用于app所有实例主机,并同步规则到所有主机。网关流控规则暂未实现。
  • 6、支持app【资源主机】级流规则流控和同步。可单独对资源主机(ip + port)进行流控规则设置。
  • 7、实时监控界面优化,增加查询区间。原来只查当前一分钟,左侧图表区间太小。
  • 8、支持作为服务注册到nacos和从nacos获取dashboard配置
  • 9、支持规则持久化到nacos。按官方指导已实现DynamicRuleProvider,DynamicRulePublisher,需改造controller,与InMem*Store配合使用,参考 FlowControllerV2。

sentinel

界面截图

  • 全部流控规则
  • 主机流控规则
  • 系统规则
  • 实时监控
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值