网站首页 新闻首页 网页设计图形动画软件编程网站开发办公软件操作系统数据库网络技术认证考试范文资料黑客攻防 书籍教程 进入论坛

架构设计(二)——高可用性设计

http://www.diybl.com/ 2008-1-19  网络 点击:  [ 评论 ]
文章搜索:    【点击打包该文章】

什么叫做高可用性,举几个例子
甲:不好了,所有的帖子都打不开了,你快看看。
乙:啊!数据库的硬盘坏了,我得赶紧去机房,可能要N个小时才能恢复
甲:!#¥%@¥%

甲:怎么搞的,整整一个上午,我登录的时候老是告诉我系统繁忙?
乙:啊!我看看,哦,那台登录验证的服务的机器昨天半夜莫名其妙当机了
甲:我K,昨天当机你现在才知道。

高可用性是和单点故障对应的,能够在部分节点出现故障的时候业务还继续在跑,不影响用户体验。这方面据说是google的强项,他们一个机房几千台廉价服务器,每天都有硬盘坏,但是他们的管工是一周才去一趟机房,带上一箱的硬盘网卡什么的。

要做到这一点肯定是要有冗余的,为了保证服务的高可用性,一般来说有两种方式:负载均衡方式和主备机方式

负载均衡方式
适用于无状态或者准静态的业务,比如说资讯,书城等等。客户端以轮转或者随机的方式访问N台service,每台service都是一模一样的。

主备机方式
适用于有状态的业务,比如转账等等,客户端在侦测到主机连续调用失败N次以后,自动切换到备机

两种方式各有优缺点:
负载均衡效果是最好的,但是比较耗机器。
主备机方式可以是N台主机加一台备机,但是有一个缺点是你不能保证主机出现问题的时候,备机是可用的,经常要演习一下才行。

有人说数据库机器用RAID就可以保证可用性,这是错误的,RAID也会出问题,不要太相信。
 

欢迎光临DIY部落,点击这里查看更多文章教程   【点击打包该文章】
如果图片或页面不能正常显示请点击这里 站内搜索:   

文章评论

请您留言