架构设计(二)——高可用性设计
http://www.diybl.com/ 2008-1-19 网络 点击:
[ 评论 ]
文章搜索:
【点击打包该文章】
什么叫做高可用性,举几个例子
甲:不好了,所有的帖子都打不开了,你快看看。
乙:啊!数据库的硬盘坏了,我得赶紧去机房,可能要N个小时才能恢复
甲:!#¥%@¥%
甲:怎么搞的,整整一个上午,我登录的时候老是告诉我系统繁忙?
乙:啊!我看看,哦,那台登录验证的服务的机器昨天半夜莫名其妙当机了
甲:我K,昨天当机你现在才知道。
高可用性是和单点故障对应的,能够在部分节点出现故障的时候业务还继续在跑,不影响用户体验。这方面据说是google的强项,他们一个机房几千台廉价服务器,每天都有硬盘坏,但是他们的管工是一周才去一趟机房,带上一箱的硬盘网卡什么的。
要做到这一点肯定是要有冗余的,为了保证服务的高可用性,一般来说有两种方式:负载均衡方式和主备机方式
负载均衡方式
适用于无状态或者准静态的业务,比如说资讯,书城等等。客户端以轮转或者随机的方式访问N台service,每台service都是一模一样的。
主备机方式
适用于有状态的业务,比如转账等等,客户端在侦测到主机连续调用失败N次以后,自动切换到备机
两种方式各有优缺点:
负载均衡效果是最好的,但是比较耗机器。
主备机方式可以是N台主机加一台备机,但是有一个缺点是你不能保证主机出现问题的时候,备机是可用的,经常要演习一下才行。
有人说数据库机器用RAID就可以保证可用性,这是错误的,RAID也会出问题,不要太相信。
如果图片或页面不能正常显示请点击这里 站内搜索:
推荐文章 |
