WEB开发网
开发学院服务器服务器方案 集群的可扩展性及其分布式体系结构之七--网络负... 阅读

集群的可扩展性及其分布式体系结构之七--网络负载平衡常见问题

 2008-11-25 10:59:59 来源:WEB开发网   
核心提示: 一点思考从上面的几点分析看来,集群的负载平衡诸多问题主要集中在:负载平衡机制的有效性、通信机制的效率、集群I/O的一致性等几个方面上,集群的可扩展性及其分布式体系结构之七--网络负载平衡常见问题(5),一、集群能否在真正意义上对任务进行"平均分配"以实现负载平衡,其中最

一点思考

从上面的几点分析看来,集群的负载平衡诸多问题主要集中在:负载平衡机制的有效性、通信机制的效率、集群I/O的一致性等几个方面上。

一、集群能否在真正意义上对任务进行"平均分配"以实现负载平衡,其中最为关键的就是对节点当前状态信息的动态获取以及利用。实际上,理想的最优负载共享策略是很难实现的:

a) 在一个给定的时刻获得系统全局状态的精确信息是不可能的,由此引发分配算法的行为也是不稳定的。

b) 复杂分配算法和全局信息采集程序的执行可能会产生很大的系统开销。

c) 进程和数据迁移所带来的收益与开销比例难以准确估计。

由于上述的不可预测性,导致了在设计以及实现网络负载平衡集群时,尽量使用适合网络平衡条件的轮询或者最少连接算法,简单有效;并且,无论采用基于算法预测还是负反馈动态权值的机制,都要尽量避免通信包的泛滥。此外,在平衡算法和权值动态调整机制之间寻求一个合理的参数模型,需要在具体的集群中通过不断的试验来应证。

二、节点需要定时向均衡器报告当前负载状况,备份均衡器需要定时监听均衡器的心跳信号。这些需要都会导致频繁的通信在集群内发生。因此使用高效率的、可定制的网络消息协议就成了解决的关键。TCP/IP作为传统协议,本身存在一定的局限。设计开发一套适合的快速消息协议,可以从底层上解决大部分的通信效率问题。一般的思路是:在假定通信信道是可靠稳定的前提下,简化通信原语的设定,减少握手和确认消息,使用大的滑动窗口和收发缓冲区,甚至使用burst发送模式。关于消息通信的具体技术我们将在后续的篇章进行讨论。

三、对于数据一致存储的问题,现今比较成熟的技术有NAS和文件服务器。NAS其实是一种装有嵌入式系统的高效的文件服务器,一般提供大容量的可靠的磁盘存取服务,对外提供NFS的标准访问方式,兼容多数的OS。这样在集群中通过部署NAS实现集中存储保证节点的数据一致访问。但是改方法容易造成I/O瓶颈,不适合数据存取量比较大的集群系统。比较兼顾性能的做法有SAN系统,但是非常昂贵,在成本上救违背了集群的基本初衷。现在出现新的做法是在工作站部署分布式文件系统,利用节点本地磁盘组合全集群的大容量存储设备,即满足了容量的要求,在性能上又避免了传输瓶颈。比较好的有Lustre、GFS等。

结束语

集群的问题其实远远不只这些。我仅就一个网络负载平衡集群项目的实施,提供一些经验和个人观点。在后续的篇章中,将在一些专题上继续开展讨论,也算是目前这些问题的一个延伸。

上一页  1 2 3 4 5 

Tags:集群 可扩展性 及其

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接