您的位置:首页 > 其它

并发设计中的应用分发问题算法

2015-11-13 01:46 169 查看
应用场景:相同的业务应分布在不同的机器上,当请求来临时分发应用如何将请求分发出去的方式

假设有 APP1 APP2 APP3 三台服务器 分发服务为 A

1:轮询大法:将请求按顺序分给 APP1、APP2、APP3

2:随机:就是random 了,请求量大的时候相当于轮询法

3:哈希法:获取客户端IP,算出hashcode,然后和服务器数3 % 运算,然后分出去

4:加权轮询

比如APP1硬件能力最差,APP2比APP1强一倍,APP3比APP2强1倍。APP1的权重为1,APP2的权重则为2,APP3的权重则为4,那么A里面发服务器列表则为 APP1*! APP2*2 APP3 *4 ,然后根据轮询大法去分发

5:加权随机:顾名思义结合1和4

6:最小连接法:动态计算出A分发(可以灵活选用以上任一种)出去的数量,然后找出分给的最小的APPX,然后给他

自己的归纳能力较差,看到<<面向服务的体系架构>>后摘出来的。

使用时可以在A里面定义委托,可实现热扩展。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: