架构设计笔记_05_高可用问题

系统复杂度的另一个原因是高可用性,即无间断的提供服务。业内一半用几个9来表达服务的可用程度,即如下公式:

服务年度可用性=(服务年度可用时间/年度总时间) x 100%

知名大型网站要达到99.99%(俗称4个9),也是很难的,支付宝还会被挖断光缆,百度DNS解析也会出现问题呢!

任何软件和硬件都会出现问题,磁盘会坏,软件有bug,按理说每50行代码就有可能产生一个bug,windows系统bug是修改不完的 ,所以一直在打patch啊!如何实现系统的高可用,通过冗余,就是增加机器的方式,这里增加机器和高性能增加机器不同,高性能中增加机器是为了提供计算性能,这里的是为了提供冗余服务。如:数据存储通过提供备份方案,来实现数据存储的高可用,通常的主备方案就是一种选择,Redis集群的主备方案,Mysql的主备方案等等。服务高可用可以通过集群方式来搭建服务集群,当一台服务出现问题时自动切换到另外一台提供服务。

下面从2个场景来阐述高可用的复杂性。

  • 业务服务高可用

通过把业务服务部署在多态机器上提供服务,就需要改服务为无状态的,即每次请求不管落在那台服务器上,返回结果都是一样的。同样需要一个负载均衡服务器,进行分发任务,这里和上一讲说的高性能复杂度一样,同样引入了连接管理,轮询算法等额外的工作量。而随着集群规模越来越大,复杂度就会越来越高。比如,集群规模增大时,我们使用Zookeeper来进行状态协调各种资源,而其选举算法ZAB就是

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昌明说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值