【每日阅读】2020年6月27日-基于支付场景的双活体系建设

真诚的希望您能留言与我交流,这会对我有非常大的帮助!

文章截图

简评

  1. 应用程序的双活最简单
  2. 中间件的双活还好
  3. 数据库的双活最难

什么双活最简单?没有状态的双活最简单,应用程序就是一段代码,他没有状态,所以是最简单的。

中间件就开始有状态了,这个状态在两边机房如何保持一致?不实时的同步在一个机房宕机时必然带来大量数据不一致,即使实时同步也会有少量数据不一致,只能仰仗宕机的机房恢复后达成最终一致。

某些中间件就不用考虑双活的问题,直接部署两套就行,例如微服务的注册中心,各自机房维护自己的一套就行。

数据库的我写的最难,是我觉得数据库是用户数据最终落地的地方,这个双活必须考虑特别周到,不然数据丢失就是大问题。文中也举了例子,放弃了MySQL自己的主从同步,使用binlog将一个主库数据同步到另一个机房的主库中。还介绍了阿里巴巴的Canal和Otter组合,来做这个事。

文中最后也介绍了,业界大部分采用的是主备模式的假双活,因为简单啊。备机房只是备用,不提供服务,只有主宕机了备才提供服务。缺点是浪费一个机房的资源。

原创文章,作者:geekgao,如若转载,请注明出处:https://www.geekgao.cn/archives/1982

发表评论

登录后才能评论
GitHub
分享本页
返回顶部