采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
代码演示的是单个zuul服务用guava实现限流,每个zuul有一个令牌桶,如果是zuul集群,怎么实现?是否要实现一个统一的令牌桶?
同学你好,能提出这个想法,非常好!可以把这个问题宏观来看,服务限流是在单机上做还是集群上做?这个问题没有绝对答案,我了解下来,国内互联网公司,用这两种限流的都有!
单机上做,可用总流量除以实例数量,比如我希望总的是qps300,一共5个实例,那么每个实例设置qps60
集群上做,有些公司用redis做限流,https://www.jianshu.com/p/76cc8ba5ca91
如果使用nginx实现负载均衡,服务均衡的分发到每个zull节点,这样每个zull节点的访问量几乎是相等的。然后再按照qps/实例数,对各个zull进行令牌桶设计,不就可以很好的实现了吗?我这样理解有问题吗?
zuul就是网关,没有必要用太多的zuul
那如果用单个zull,挂掉了的话系统不就无法使用了。我的意思是在多个zull的情况下,nginx放在网关之前做负载均衡,就像课程介绍的一样,然后在每个zull里实现令牌桶
我觉得应该不用实现统一的令牌桶,因为我们服务集群部署本来就是主要为了增加负载,如果你增加节点而限流却没有增加的话集群部署完全就只有一个高可用的作用了。个人观点哈,毕竟我也没有真正实际运用在工作中过。
登录后可查看更多问答,登录/注册
SpringCloud组件实现微服务,【已升级Finchley.Release】
2.0k 3
2.7k 6
2.4k 7
1.6k 25
3.1k 24