sentinel原理源码分析系列(二)-动态规则和transport

本文是sentinel原理源码分析系列第二篇,分析两个组件,动态配置和transport

动态规则

Sentinel提供动态规则机制,依赖配置中心,如nacos,zookeeper,组件支持动态配置,模板类型为规则,支持动态规则

上图是动态配置模型

PropertyListener 用户(sentinel的插槽)实现,监听规则变更通知,变更是全量DynamicSentinelProperty 持有PropertyListener,支持多个,规则数据源实现利用自身的发现机制,当规则配置变更,调用DynamicSentinelProperty的updateValue,后者通知监听器

下图是zookeeper规则数据源实现,使用curator监听规则znode的变更

transport

transport是一个嵌入到保护资源内的组件,dashboard通过该组件拉取资源的metrics

server 内置远程服务,有3个实现,netty,socket,web mvc

dispatcher负责识别和分发请求到command处理器,后者实际处理请求,支持用户可实现自身的处理器

心跳功能,通过该功能注册到dashboard,构建机器/app资料库(discovery)

Sentinel提供SentinelApiClient访问transport

NEXT 下一篇介绍sentinel的启动和初始化

相关推荐
搞不懂语言的程序员9 小时前
Redis Sentinel如何实现高可用?
数据库·redis·sentinel
追风赶月、2 天前
【Redis】哨兵(Sentinel)机制
数据库·redis·sentinel
RingWu7 天前
微服务架构-限流、熔断:Alibaba Sentinel入门
微服务·架构·sentinel
hzj612 天前
Sentinel学习
分布式·学习·sentinel
Mr.Demo.18 天前
[Spring] Sentinel详解
java·spring·sentinel
GarfieldFine18 天前
实现Sentinel与Nacos的规则双向同步
java·spring·sentinel
素雪风华19 天前
服务容错治理框架resilience4j&sentinel基础应用---微服务的限流/熔断/降级解决方案
java·微服务·sentinel·springboot·服务容错·resilience
东阳马生架构22 天前
Sentinel源码—8.限流算法和设计模式总结二
算法·设计模式·sentinel
东阳马生架构23 天前
Sentinel源码—7.参数限流和注解的实现一
java·sentinel