问题描述:集群中有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实现个阻塞队列就行。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 删除虚拟显示器驱动 删除所有 Xorg 配置文件 删除显示器缓存文件 重启系统 可是依旧无法退出虚拟显示器
- ¥15 vscode程序一直报同样的错,如何解决?
- ¥15 关于使用unity中遇到的问题
- ¥15 开放世界如何写线性关卡的用例(类似原神)
- ¥15 关于并联谐振电磁感应加热
- ¥60 请查询全国几个煤炭大省近十年的煤炭铁路及公路的货物周转量
- ¥15 请帮我看看我这道c语言题到底漏了哪种情况吧!
- ¥66 如何制作支付宝扫码跳转到发红包界面
- ¥15 pnpm 下载element-plus
- ¥15 解决编写PyDracula时遇到的问题