@
HTravel 这个 case 有很多值得深挖和复盘的地方,但好像没一个是你说的。已经有公开 message
这里的 dns 明显是个服务注册发现用的,因为代码产生极端情况下的竞态触发了问题。不是平时接触的公共 dns 。
所谓的两地三中心是人家提供的基础设施有这个条件,而不是你的单个应用程序在云上就从单一部署变成多活。一个多 az 单 region 部署的应用,理想情况下,可以到 99.99%,又不是永不停机。每增加一个小数点的可用性,成本是曲线增长的,架构设计没有银弹,只有权衡。
别说 aws 这种体量的公司,就算国内的二三线互联网公司,每天成千上万次发布,评审 step by step 、文档指导书,按这个玩法公司效率得被拖垮。
另外遇到的国内云常规骚操作,很多时候是有点小聪明过头了:
例如国内的很多云,租几个运营商的机柜就是 az 了,很多应用例如 es/kafka 这种是需要副本+选举来运作的,需要被部署在不同的 az 。而这种小 az 是没办法用来高可用部署的,新的硬件机器永远只出现在新的 az ,老 az 开不出机器。甚至某些服务升级还需要迁移 az 。选 3 个 az 用最新一代的实例去部署一个高可用服务都是个问题。
最后个人觉得国内真认真做云的只有 A 家,水平至少也是 Azure 之上的,有没 GCP 的水平不好说,其他几家真有点那啥。