首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

高可用性系统的集群解决方案拾掇

2012-10-23 
高可用性系统的集群解决方案整理关于如何设计一个高可用性(部分节点宕机仍然保证可用)的系统,整理下大致思

高可用性系统的集群解决方案整理

关于如何设计一个高可用性(部分节点宕机仍然保证可用)的系统,整理下大致思路。

?

系统前端的设计中,采用比较通用的解决方案,Web服务器(如Apache)+ 应用服务器集群(Tomcat或者WebLogic)。

?

客户端(Client)连接Web服务器时需要考虑session的分布式管理,可以用Memcached与中间件结合提供session管理(可以扩展SessionManager或者自定义Filter来实现),为了避免Memcached服务器宕机,需要建立Memcached集群,通过magent进行代理,代理本身也支持集群,因此不需要考虑magent服务器也挂了的情况。

?

※ 注1:Memcached提供session管理,参考:使用memcached实现session远程分布式存储

※ 注2:Memcached作为应用的缓存层,本身设计就不实现冗余机制。参考:Memcached 集群架构问题归纳

※ 注3:magent是一款开源的Memcached代理服务器软件,使用总结: http://blog.s135.com/post/393/

※ 注4:Memcached + magent 的实现方式,参考:Memcached集群/分布式的单点故障

?????????? 摘录如下

?

?

在系统持久层的设计方案中,为了实现高可用性,需要提供数据库集群。

这里有两个方面的考虑,首先,多台DB服务器时提供负载均衡的实现。其次,数据的备份、同步,避免一台DB服务器宕机后数据丢失。

?

※ 注1:数据库的备份同步可以通过数据库本身完成(采取区域复制或者挖掘日志),也可以通过部分第三方同步方案完成。参考:Oracle 数据库之间数据同步方案 或者 SQLServer的集群实现

※ 注2:数据库基本都有实现集群方案,如Oracle的RAC,SQLServer的MSCS等,参考:数据库集群技术分析和比较

?

?

?

热点排行