码迷,mamicode.com
首页 > 其他好文 > 详细

分布式系统设计-风险规避通信篇

时间:2018-07-03 15:15:27      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:设计   分布式系统   lock   随机   分布   ack   连接   blocking   算法   

通信篇:

1.大量client连一个server

在现如今NonBlocking-IO这么成熟的情况下,一个支持大量client的server已经不那么难写了,但在大规模,并且通常长连接的情况下,有一个点要特别注意,就是当server挂掉的时候,不能出现所有client都在一个时间点发起重连,那样基本就是灾难,在没有经验的情况下我看过好几起类似的case,到client规模上去后,server一重启基本就直接被冲进来的大量建连冲垮了(当然,server的backlog队列首先应该稍微设置大一些),通常可以采用的方法是client重连前都做随机时间的sleep,另外就是重连的间隔采取避让算法

 

2. 一个client连大量的server

有些场景也会出现需要连大量server的现象,在这种情况下,同样要注意的也是不要并发同时去建所有的连接,而是在能力范围内分批去建。
除了建连接外,另外还要注意的地方是并发发送请求也同样,一定要做好限流,否则很容易会因为一些点慢导致内存爆掉

 

分布式系统设计-风险规避通信篇

标签:设计   分布式系统   lock   随机   分布   ack   连接   blocking   算法   

原文地址:https://www.cnblogs.com/zhangfengshi/p/9257830.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!