集群的可扩展性及其分布式体系结构之七--网络负载平衡常见问题
2008-11-25 10:59:59 来源:WEB开发网而解决这类问题一般方法,要么是集中存储,使用共享的存储服务器或者存储设备;要么采用分布式文件系统,将文件分块存放在不同的节点磁盘上;再不然就是通过人工的手段对访问数据的应用程序进行改写,人为的设定程序的数据访问策略,在应用层实现分布式存储。各种方法都有有缺点:
方法一比较简单,找一台I/O处理能力强的服务器作为NFS服务器,提供唯一的数据存储入口即可解决,但是容易造成瓶颈;方法二兼顾了性能和容量,但是需要SAN这样的专有系统,实现复杂造价高;最后一种方法需要定制特定的应用层代码,大大增加了项目的开发成本和风险。
5. 均衡器单点失效
由于负载平衡集群的运转,完全依赖于均衡器的正常执行,而且多数集群对外体现的单一系统映像也必须通过均衡器这一角色来实现。因此,一旦均衡器失效,整个集群也就无法使用。提高集群的可用性,重点是解决核心部件的单点实效。
常见的方法就是冗余。这里通过一个特殊的"备份"节点,定期对均衡器进行监控,一旦发现均衡器无法正常访问,就立刻向所有的节点发出广播消息,告知错误,并且把均衡器上最近的有效数据加载到OS的内核,接管失效均衡器的任务。
监控的信息通过"心跳线路"传递,可以是专用的串口通信线路、红外设备,也可以是单独的局域网线,或者仅仅是逻辑上存在的信道。不管使用哪种连接,心跳信号的传递本身是要可靠的,而这一点只能依赖于监控机制和心跳线路的选择。
失效过后的替换过程不一而足,主要看均衡器是位于哪一层次上实现SSI(单一系统映像)。网络负载平衡集群中,均衡器一般都要承担一个虚拟IP管理者的角色。所以,备份节点在进行失效处理的时候,需要把虚拟IP地址接管过来,必要的话还需进行ARP响应欺骗的修改工作,告知路由器新的ARP映射列表。而更为常见的双机数据库热备份系统,需要处理数据库的名字替换工作,同时接管必要的在处理进程和联机事务操作。
更多精彩
赞助商链接