翻译|布加迪评论家|孙书娟多区域应用架构是任何云应用系统最重要的方面之一。这不仅仅是关于全球覆盖和贴近客户,而是关于确保应用程序能够在不同地区和国家顺利运行。因此,您的数据库应该位于多个区域,这样即使遇到自然灾害或停电等意外问题,也可以确保高可用性和高性能。多区域是什么意思?多区域意味着您的应用程序覆盖多个区域。每个区域都是一个独立的数据中心,有自己的数据库和负载均衡系统。不同地区的数据库没有相互连接,但它们都共享相同的模式,因此可以跨所有地区使用一组查询。每个区域都有自己的服务器,这意味着对应用程序的任何请求都不会出现单点故障。如果一个数据中心发生故障,来自其他地方的用户的流量将自动转移到另一个数据中心,用户不会注意到网站有任何异常。为什么要使用多区域应用程序?减少延迟:多区域应用程序架构使您能够在不同区域托管数据库,从而减少延迟。如果您的用户遍布世界各地,这将特别有用。减少数据丢失:采用多区域应用架构,可以跨多个区域使用同步复制,保证即使发生硬件/网络故障或其他灾难,数据也不会丢失。即使其中一个区域由于某种原因出现故障,例如网络中断或硬件故障,您的数据在其他区域仍然可用。降低成本:您可以通过在云平台上托管数据库而不是购买昂贵的服务器在本地托管来节省成本,因为云提供商对其服务的收费低于本地托管提供商(这也适用于其他IT基础设施组件,例如存储).如何着手构建多区域应用程序?要构建多区域应用程序,您需要使用可在多个区域使用的数据库。例如,如果您有一个驻留在AWS上并使用AmazonRelationalDatabaseService(RDS)作为数据库的应用程序,您可以将RDS实例配置为在多个区域可用。您还可以从具有多区域可用性的数据库中进行选择。MicrosoftAzureSQLDatabase就是一个典型的例子:在这个数据库中,用户可以创建数据库,可用性集(availabilitysets)通过复制连接起来。您还可以使用MicrosoftSQLServer2017或更高版本的ServiceBroker功能,使用流复制或合并复制跨不同区域复制数据。第三种选择是使用支持多区域故障转移的数据库,因为它的故障转移过程不需要任何中断,而是立即切换到另一个区域,服务不会中断,并且在切换过程中性能保持不变!多区域架构的优势多区域架构允许您在不同区域拥有多个数据库副本。每个副本可以位于不同的区域,每个区域可以对同一个数据库使用不同的版本和语言。这为您设计数据冗余和高可用性架构提供了极大的灵活性。您可能希望在一个区域保留存储成本较低的旧版本作为备份,而在另一个区域保留存储要求较高的较新版本作为主版本,这样如果前者出现问题,您可以切换到后者比较容易。多区域架构的挑战虽然区域部署架构的优势显而易见,但它也带来了一系列挑战。最大的挑战是成本。虽然运行多区域数据库的成本可能低于单区域环境,但它仍可能比在不同位置运行单区域环境更昂贵。原因是您需要为每个区域维护单独的基础设施和服务——例如,您可能拥有跨区域的独立计算资源和存储实例,而不是依赖公司内部的共享基础设施。多区域数据库的另一个挑战是数据延迟:当两个相距遥远的位置由于网络延迟或网络拥塞而导致延迟增加时,就会出现数据延迟。虽然在多个区域管理此类大型数据集变得更加容易,因为它们将容量分布在位于不同区域(数据中??心)的多个服务器上,有助于降低运营成本而不影响性能和可用性。但是当涉及到可扩展性和安全性时,事情就变得棘手了,因为确保这些工作负载以一致的方式工作可能需要额外的工作。通过在每个区域内的多个数据中心分布应用程序,您可以减少应用程序延迟和成本,并提高可靠性、性能和可用性。在为数据库构建多区域应用架构时,您还可以提高跨区域的安全性,例如数据加密。除此之外,还有其他好处:增强的可扩展性——在任何一个区域出现高负载或流量突发的情况下,您可以在应用程序部署的任何地方添加更多的计算资源,从而轻松增加容量。这使您可以在不停机的情况下进行扩展,同时在高峰使用时间保持高性能。简化管理-管理部署在多个位置的应用程序比在单个位置管理应用程序需要更少的管理开销。结论我们已经了解了使用多区域应用程序架构的原因。多区域数据库架构是一个复杂的领域,需要数据管理、数据库和云解决方案方面的专业知识。我们还讨论了在贵公司使用多区域数据库架构的好处。原标题:WhyYouWantMulti-RegionApplicationArchitectureforyouDatabase,作者:HirenDhaduk
