服务器编程:群集(Cluster)

来源:互联网 发布:mac 电脑酷狗听歌识曲 编辑:程序博客网 时间:2024/05/16 16:18

单个服务器的力量总是有限的,群集则可以将多个服务器联合起来,只需简单的增加硬件,就能够理论上无限的扩展服务能力,比如像GOOGLE那样的群集。呵呵,我总是喜欢谈论性能,其实可靠性更重要。速度慢一点,大多数用户尚可容忍,但若频频出错、中断,服务器动不动宕机,大家的脸色就不好看了,用户会用脚投票,而开发人员可能就要用脚跑路了,因此,“故障转移”功能可能更重要。比如像SQL Server 2000的群集功能,就只支持“故障转移”这一项。

自Windows 2K3开始,群集的架设变的更容易了。加上VMware的助力,开发人员可以很方便的建立自己的实验群集,当然前提是硬件比较强劲,能够跑得动。
Windows有一套支持群集开发的API,称为Cluster API,通过这套API,可以实现程序加入、移出群集,节点感知等功能,并使得群集管理器能够管理到群集程序。程序也可以利用群集网络和群集资源,多个程序组合成一个整体,多个程序同时发力,榨取最大的性能。

当然,也可以不用写这样血统纯正的群集程序。如果程序提供的服务是无状态的,或者有专门的服务器来存储状态,也可以不使用任何群集API,只需将程序加入到群集应用中,由群集服务器来管理,自然就可以具有群集应用程序的基本特性如故障转移等。甚至,你可以将Notepad变为群集应用。

有了群集,可以让我们将更多的精力投入到业务实现中去,而将繁杂的体力活全部交给机器去干吧,这才是发明机器的初衷。


原创粉丝点击