一、前言
限流对一个生产环境的系统来说,具有重要的意义,限流的目的是为了保护系统中的某些核心业务资源不被瞬间的大并发流量冲垮而采取的一种措施,因此一个成熟的架构设计方案,限流也需要纳入到架构设计和规划中。
二、常用的限流解决方案
微服务经过多年的发展和沉淀,对于限流来说,也有了一些通用的解决方案,列举常用的供参考
- sentinel,springcloud-alibaba技术栈下的一个组件,提供了不仅限流,dashboard等在内的灵活的功能;
- guava,google提供的一款限流SDK,简单易用;
- 网关限流,nginx,可在nginx中配置一定的限流规则对请求进行限流;
- 利用限流算法思想的指导,如令牌桶、漏桶算法等自定义限流组件;
可参考之前一篇对于限流方案的总结:常用限流方案总结
三、dubbo中的限流
dubbo作为一款优秀的服务治理框架,在各大中小互联网公司都有使用,在微服务治