如何利用MongoDB实现高性能,高可用的双活应用架构?

随着企业服务窗口的不断增加,业务中断对很多企业意味着毁灭性的灾难,因此,跨多个数据中心的应用部署成为了当下最热门的话题之一。

如今,在跨多个数据中心的应用部署最佳实践中,数据库通常负责处理多个地理区域的读取和写入,对数据变更的复制,并提供尽可能高的可用性、一致性和持久性。

但是,并非所有的技术在选择上都是平等的。例如,一种数据库技术可以提供更高的可用性保证,却同时只能提供比另一种技术更低的数据一致性和持久性保证。

本文先分析了在现代多数据中心中应用对于数据库架构的需求。随后探讨了数据库架构的种类及优缺点,最后专门研究 MongoDB 如何适用于这些类别,并最终实现双活的应用架构。双活的需求

当组织考虑在多个跨数据中心(或区域云)部署应用时,他们通常会希望使用“双活”的架构,即所有数据中心的应用服务器同时处理所有的请求。

我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,马上就要抢光了。

如何利用MongoDB实现高性能,高可用的双活应用架构?

图 1:“双活”应用架构

如图 1 所示,该架构可以实现如下目标:

如何利用MongoDB实现高性能,高可用的双活应用架构?通过提供本地处理(延迟会比较低),为来自全球的请求提供服务。
如何利用MongoDB实现高性能,高可用的双活应用架构?即使出现整个区域性的宕机,也能始终保持高可用性。
如何利用MongoDB实现高性能,高可用的双活应用架构?通过对多个数据中心里服务器资源的并行使用,来处理各类应用请求,并达到最佳的平台资源利用率。

“双活”架构的替代方案是由一个主数据中心(区域)和多个灾备(DR)区域(如图 2 所示)所组成的主-DR(也称为主-被)架构。

原文链接