集群流控与观测
2025-10-22 20:46:39 0 举报
集群流控是一种先进的技术手段,用于优化网络带宽分配,保证关键数据流的平稳和高效传输。 本文档通过2种方案来实现集群流控,Sentinel-Cluster应用多但是TokenServer故障转移需要自己实现,可以借助外部服务发现组件(如 Nacos, Eureka, Consul、Etcd等),而Redisson方案则是利用Sentinel计算QPS优势完成指标统计,而流控这部分使用Redisson扩展一个RedissonFlowSolt来完成,不再需要外部服务发现。RateLimiter直接依赖Redis哨兵\集群可以做到高可用。
作者其他创作
大纲/内容
RPC
指标Tags
Redisson-Rate-Limiter
Sentinel-Client
Redisson
控制台
MySQL
F3.随机从其他TokenServer选取一各节点,将ip和port广播给API
C.返回请求是否被限流,如果网络不通降为单机限流
Sentinel-Core
自定义RedissonFlowSlot来实现流控
Logback
Alertmanager
运维监控
F2.检测到Server1宕机
暴露指标
Redis
利用Sentinel-Core计算QPS指标
User
Sentinel方案
Sentinel-Cluster-Server2
API
G.查询监控数据
F5.调整连接新的TokenServer
Redis方案
Micrometer
2.规则监控实时更新
System
集群流控
QPS暂存
1.修改限流规则
B.当配置Sentinel限流时才会向TokenServer发起限流请求,否则为Redis限流
实时流况
/actuator/prometheus
F4.监听到服务端ip变更实时更新
Sentinel
数据存储
Prometheus
流量管理
直接采用Sentinel-Cluster完成流控
Sentinel-Cluster-Server1
流量看板
F.持久化监控数据
b.按分时天入库
TSDB
Grafana
服务网关
采用MetricExtension扩展自定义QPS指标追加动态AppId
Sentinel-Token-Server
JVM
A.请求
F1.心跳检测Server1是否宕机
a.不入库每30秒拉取一次
规则中心
E.批量推送或拉取通过\\拒绝等QPS指标
D.定时缓存QPS到内存队列
0 条评论
下一页