Sentinel Go Cluster Flow Control
chenneal opened this issue · 0 comments
chenneal commented
ASOC: sentinel-golang Cluster Flow Control
基于v1.0.4版本发布集群流控功能,实现 sentinel-golang Cluster Flow Control
背景
目前 sentinel-golang 只支持单机限流,如果碰到集群集体限流的场景,需要提前估算单机的阈值,不过这个单机估算非常困难,主要体现在:
- 集群的机器数量是随时变化的,那么这个阈值需要根据机器数量实时更改
- 算平均值这种效果会受上游负载均衡效果的影响,负载均衡能力越弱,流控效果越差
基于上述两点,集群流控的开发是非常有必要的,且我们希望有以下模块:
- 统一的与 token server 交互的 grpc 定义接口
- 完整的集群流控 golang-client 模块
- 一些扩展的 adapter 模块,包括 grpc、redis 等
实现方案
可以参考已有的一些文档和实现
https://github.com/alibaba/Sentinel/wiki/集群流控
https://github.com/alibaba/sentinel-golang/wiki/集群流控(Proposal)