MySQL之高可用性(二)

高可用性

避免单点失效

找到并消除系统中的可能失效的单点,并结合切换到备用组件的机制,这是一种通过减少恢复时间(MTTR)来改善可用性的方法。如果你够聪明,有时候甚至能将实际的恢复时间降低至0,但总的来说这很困难。(即使一些非常引人注目的技术,例如昂贵的负载均衡器,在发现问题并进行反馈时也会导致一定的延迟)。思考并梳理整个应用,尝试去定位任何可能失效的单点。是一个硬盘驱动器,一台服务器,一台交换或路由器,还是某个机架的电源?所有数据都在一个数据中心,或者冗余数据中心是由同一个公司提供的吗?系统中任何不冗余的部分都是一个可能失效的单点。其他比较普遍的单点失效依赖于一些服务,例如DNS,单一网络提供商(感觉太偏执了?检查你的冗余网络连接是不是真的连接到不同的互联网主干,确保它们的物理位置不在同一条街道或者同一个电线杆上,这样它们才不会被同一个挖土机或者汽车破坏掉)、单个云"可用区域",以及单个电力输送网,具体有哪些取决于你的关注点。
单点失效并不总是能够消除。增加冗余或许也无法做到,因为有些限制无法避免,例如地理位置,预算,或者时间限制等。试着去理解每一个影响可用性的部分,采取一种平衡的观点来看待风险,并首先解决其中影响最大的那个。一些人试图编写一个软件来处理所有的硬件失效,但软件本身导致的宕机时间可能比它节约的还要多。也有人想建立一种"永不沉没"的系统,包括各种冗余,但它们忘记了数据中心可能掉电或失去连接。或许它们彻底忘记了恶意攻击者和程序错误的可能性,这些情况可能会删除或损坏数据——一个不小心执行的DROP TABLE也会产生宕机时间.
可以采用两种方法来为系统增加冗余:增加空余容量和重复组件。增加容量余量通常很简单——可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

coffee_babe

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

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

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

打赏作者

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

抵扣说明:

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

余额充值