jeryzr 2019-08-01 10:39 采纳率: 50%
浏览 847
已采纳

集群如何控制并发数呢

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

  • 写回答

2条回答 默认 最新

  • leonlau81 2019-08-01 11:04
    关注

    这不就是限流么。第一个方法肯定不好,以后集群扩容呢,C扩容呢,难道还去修改代码。第二个可行,但没必要那么麻烦,还要建表监控线程。搞个令牌桶就行,桶里50个令牌,访问C之前必须拿令牌,用完令牌放回桶里,集群扩容不用修改代码,C扩容就增加桶里令牌数。实现的话,最简单redis实现个阻塞队列就行。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错