一、前言
限流对一个生产环境的系统来说,具有重要的意义,限流的目的是为了保护系统中的某些核心业务资源不被瞬间的大并发流量冲垮而采取的一种措施,因此一个成熟的架构设计方案,限流也需要纳入到架构设计和规划中。
二、常用的限流解决方案
微服务经过多年的发展和沉淀,对于限流来说,也有了一些通用的解决方案,列举常用的供参考
- sentinel,springcloud-alibaba技术栈下的一个组件,提供了不仅限流,dashboard等在内的灵活的功能;
- guava,google提供的一款限流SDK,简单易用;
- 网关限流,nginx,可在nginx中配置一定的限流规则对请求进行限流;
- 利用限流算法思想的指导,如令牌桶、漏桶算法等自定义限流组件;
可参考之前一篇对于限流方案的总结:常用限流方案总结
三、dubbo中的限流
dubbo作为一款优秀的服务治理框架,在各大中小互联网公司都有使用,在微服务治理中,服务发布者使用dubbo可以发布服务出去,给平台中其他应用调用,使用起来很方便;
可以说所有的应用服务,一旦业务量上去了,应用服务要抗的压力也必然增加,对于服务提供方来说,高频大并发的调用,对于服务治理来说绝对是一项挑战,
版权归原作者 小码农叔叔 所有, 如有侵权,请联系我们删除。