做一个分布式存储系统的项目,就是将一个文件分块存储到多个存储服务器中,这个系统分为3块,包括客户端(client),控制端(tracker),存储端(storage)。client有n多台,tracker有1台,storage有n多台,当client要上传文件时,会请求tracker,tracker会通过一算法计算给出最合适的多台storage(IP)及分块信息返回给client,client根据得到的信息直接发送文件块到各storage。现在的问题是tracker怎么样计算出哪几台storage服务器是最合适的,这个负载均衡算法中要参考的信息有storage的CPU、内存的使用率、剩余存储空间、链接请求数等等。参数众多,该怎么实现这个算法呢?请大家畅所欲言,提供思路,谢谢!
解决方案:40分
本人记得之前看淘宝的架构文章说了一嘴负载均衡的问题,他们好像是弄了一个表达式,把各种考虑因素全都加进去最终算出来一个权值比较来判断哪个合适。