问题描述:集群中有A、B两台机器,集群与另一系统C进行通信。
系统C作为服务端最大并发数为50。如何保证集群中两台机器并
发向C发起请求控制在50并发之内。
我的思考:解决方法1:A、B两台机器平分50个并发。2.建一张表,实时监控正在执行任务任务的线程数,让A、B并发总数不大于50.
这两个想法那个靠谱一点,大家可以给点意见建议嘛。

集群如何控制并发数呢
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- leonlau81 2019-08-01 11:04关注
这不就是限流么。第一个方法肯定不好,以后集群扩容呢,C扩容呢,难道还去修改代码。第二个可行,但没必要那么麻烦,还要建表监控线程。搞个令牌桶就行,桶里50个令牌,访问C之前必须拿令牌,用完令牌放回桶里,集群扩容不用修改代码,C扩容就增加桶里令牌数。实现的话,最简单redis实现个阻塞队列就行。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报