文章目录
1、限流需求场景
(本文主要讲述服务端限流,不涉及客户端和网关限流策略)
大家经常会在2C互联网公司的技术场景上听到高并发,说到限流、熔断、降级。
其实,在2B领域同样也用“限流、熔断、降级”。任何生产级的平台型系统,线上稳定性都是生命线,都要防范于未然。
掌握平台业务、应用的性能水位,以及前置一定的容量规划,是对技术管理者的基本要求。
常见需要限流的场景:
1、Web层 API限流:防突发流量。例如:业务高峰事件;多个友商的爬虫。
2、中心层 API限流:防上游调用量激增。例如:Web层大流量灌入;上游调用Fanout高扇出(如for循环调用)。
3、开放平台网关限流:为每个AppKey设定调用量上限。
2、Sentinel vs Hystrix
惯例做选型对比:
- 在Sentinel开源迭代后,至今已经不用做选型了,默认上Sentinel。
- Sentinel 在功能上完全包容Hystrix(除线程池隔离外),完胜。
- Sentinel 有丰富的业务场景解决方案能力支持。
3、Sentinel功能介绍
(大多摘录自Sentinel Github:https://github.com/alibaba/Sentinel/wiki/介绍)
Sentinel 具有以下特征:
- 丰富的应