发布网友 发布时间:2022-05-01 05:39
共4个回答
懂视网 时间:2022-04-15 16:24
基于这三点总结就抛出了三个问题:
1. 现有的HA软件是否可靠,可信?是否在正确的时候做了正确的判断和操作?
2. 没有集中管理机的HA架构(即内部投票)是否可靠?
3. HA的Failover过程是否要考虑数据预热?
以下是对于这三个问题的一些分析和个人看法:
问题一:现有的HA软件是否可靠,可信?是否在正确的时候做了正确的判断和操作?
GitHub团队认为:The automated failover of our main production database could be described as the root cause of both of these downtime events.
而对于这个问题,我的想法和 Xaprd的观点 一致:事故的关键在于现有的HA软件都没法照顾到所有可能发生的情况,以至于在某些情况下的行为是不可预测的,或者非我们所想的。
因此一味的将切换操作置成手工模式,虽然避免了风险,但显然没有很好的使用HA软件所提供的service。
个人想法是,对于一些原因明确且有明确cookbook的事故,可以让HA去完成failover。而对于那些需要人工介入分析故障原因的事故,做手工切换,如果github遇到的timeout等。
问题二: 没有集中管理机的HA架构(即内部投票)是否可靠?
从目前的流行程度来看,MMM,MHA这些使用Manager管理模式的架构,已经逐渐替代 Heartbeat + LVS/ Pacemaker 等投票模式的架构。
其主要原因就是在没有仲裁机的情况下,发生网络partition会造成脑裂,从而导致active角色的互相争抢,最后使整个cluster瘫痪。
Github再次用血的教训告诉我们脑裂是无仲裁架构的致命缺陷。
问题三:HA的Failover过程是否要考虑数据预热?
这个问题显然是引起本次问题的关键:没有预热的切换才是万恶之源。脑裂只是连锁反应而已。
而貌似整个社区的blog中对于这个问题的讨论却是少之又少,也许是重视程度不够?
会造成切换后压力剧增可能的情况,我总结为以下三种:
1. stand-by-master完全作为冗余,BufferPool 基本没有热点数据
2. stand-by-master提供read-only服务,但read-only 和 acitve master 的请求业务类型不同,导致热点数据不同
3. 原本active的MySQL宕机后重新回归,此时重启后的MySQL是处于完全Cold 状态
但目前众多HA软件中都没有考虑预热的因素,毕竟所有的failover都希望尽快的将业务转移至stand-by master,而预热则需要尽可能多的时间来获取业务的请求。
也许这是一个无解命题?
bitsCN.com
热心网友 时间:2022-04-15 13:32
gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。热心网友 时间:2022-04-15 14:50
第一步:在运行中输入cmd,回车,打开命令行窗口第二步:在命令行窗口中切换到想要建立文件夹的硬盘分区,如D盘第三步:输入MD ..\回车,注意文件夹名后有 个小数点看看你的D盘下面是不是多了一个名为 .的文件夹?它是既不能进入又不能被删除的!如果想删除,在命令行窗口中输入rd ..\回车,即可删除,如果想进入,在命令行窗口中输入startd:\ ..\(注意这里一定要是文件夹的绝对路径,否则无法打开热心网友 时间:2022-04-15 16:25
完全可以。你可以这么理解:百度网盘啊,微软云盘啊,谷歌云盘啊,这些基本上是面对个人使用的。也就是说,你想分享一个文件,可以使用网盘进行分享。虽然网盘也可以分享源代码。但是怎么说呢,很多东西都可以分类的。网盘你就可以理解为:个人生活类。而GitHub呢,它像是程序员的专属网盘,专门存放程序源代码。提供针对利于开发过程中的很多功能。相当于:程序员专属类。比如直接获取完整地址。而网盘就得输入密码点击下载等,获取资料过程复杂。GitHub上传后就可以直观的直接点击获取了。