分布式系统怎么控制调用并发,我们为入口系统,总是流量一大就把对接系统搞死了,对接系统并发都不是很大。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
ixiaohei
V2EX    程序员

分布式系统怎么控制调用并发,我们为入口系统,总是流量一大就把对接系统搞死了,对接系统并发都不是很大。

  •  
  •   ixiaohei
    ixiaohei 2016-10-19 22:42:47 +08:00 4016 次点击
    这是一个创建于 3355 天前的主题,其中的信息可能已经有所发展或是发生改变。
    分布式系统怎么控制调用并发,我们为入口系统,总是流量一大就把对接系统搞死了,对接系统并发都不是很大。系统用的 java 语言,现在是用信号量控制的,但是只能单 jvm ,怎么做到分布式控制?用 zookeeper ?或者别的工具框架,或者思路。暂时系统有 50 个实例,只有 20 个实际再跑?后面可能越来越多。每个实例应该内存都是 256g 这样样子, cpu 不记得是 32 核还是 64 核。
    14 条回复    2016-10-20 23:38:14 +08:00
    clino
        1
    clino  
       2016-10-19 22:58:07 +08:00
    好奇对接系统的瓶颈是什么? 数据库还是 cpu?
    enenaaa
        2
    enenaaa  
       2016-10-19 23:01:06 +08:00
    什么意思, 你是说对接系统吞吐量不能满足你们的需求吗。 那就算好吞吐量, 各程序间按量分配呀, 有额度的才能发送请求, 没有就排队等着。
    ixiaohei
        3
    ixiaohei  
    OP
       2016-10-19 23:01:49 +08:00
    @clino 一般都是数据库,金融系统数据大多数落地数据库。比如其中最差的一个金证卖基金的系统。
    ixiaohei
        4
    ixiaohei  
    OP
       2016-10-19 23:02:43 +08:00
    @enenaaa 怎么控制排队?消息队列?如果这样改造大的要死不显示,最好就是想分布式信号量那个控制最好了
    enenaaa
        5
    enenaaa  
       2016-10-19 23:13:26 +08:00
    @ixiaohei 这种应该要求不很精细, 搞个控制服务端,监控对接系统状态, 每隔一点时间向任务程序分发额度就好了。
    billlee
        6
    billlee  
       2016-10-19 23:22:51 +08:00
    redis 就可以做分布式的信号量
        7
    ryd994  
       2016-10-20 08:54:25 +08:00 via Android
    楼上的办法是一种,或者你可以根据用到的接口,写一个代理
    如果用的是 TCP 或者 HTTP 协议的话,用 Nginx 就能很好的处理了
    如果是直接调用的库或者对象,那就做一个全局共享的代理对象,由代理进行控制
    ryd994
        8
    ryd994  
       2016-10-20 08:56:29 +08:00 via Android
    其实 TCP 流控和你这个是类似的,而你还有个优势是可以请对方做个负载监控的接口
    jeffersonpig
        9
    jeffersonpig  
       2016-10-20 09:21:00 +08:00
    @ixiaohei 换成恒生的吧哈哈哈哈哈哈
    R4rvZ6agNVWr56V0
        10
    R4rvZ6agNVWr56V0  
       2016-10-20 13:52:51 +08:00
    可以在 API 网关上搞个 Token Bucket 算法的过滤器做限流
    aboutyang
        11
    aboutyang  
       2016-10-20 14:25:32 +08:00
    基于分布式缓存扩展 Semaphore
    ixiaohei
        12
    ixiaohei  
    OP
       2016-10-20 20:06:48 +08:00
    @billlee 怎么做?
    billlee
        13
    billlee  
       2016-10-20 21:32:25 +08:00
    ixiaohei
        14
    ixiaohei  
    OP
       2016-10-20 23:38:14 +08:00
    @enenaaa 这个估计改造很大,我们一般都是同步的,异步一般 都是处理任务什么的干。做个活动绝对还好多系统遭殃
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2726 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 13:21 PVG 21:21 LAX 05:21 JFK 08:21
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86