周二,Esgyn发布了EsgynDB企业版2.0,新增了多种功能的支持。本文介绍了跨数据中心的全面双活事务支持。对于跨多行、表和/或服务器的事务,Hadoop生态系统支持在异地、各集群或表中复制关键的运营型业务数据。该功能支持异地的高可用集群,因此对关键数据是非常重要的。如果由于自然灾害、同城状况、人为错误导致集群offline,则可以立即启用另一个peer集群,并实现零事务丢失

通过双活配置,集群不会在无灾难时闲置,而是和其他的EsgynDB集群一样处理运营型工作负载。也就是说,不存在“热备”的概念,节省了无谓的空间、时间、电力和人力,用户可用同时从两个数据中心获取价值。EsgynDB企业版2.0的跨数据中心双活扩展了读/写工作负载,提供了灾难恢复零事务丢失机制。

EsgynDB企业版2.0支持以下两种跨数据中心的配置:

  • 单Master (图 1): 应用程序只在一个集群上进行更新,然后复制到一个或多个集群。其他集群用于查询和报告。
  • 多Master (图 2): 应用程序在各个集群上进行更新,然后复制到所有其他的集群。

由于配置的灵活性,双活集群的设置有以下几个用例:

  • 高可用: 如果由于地理、环境或人为原因导致集群不可用,应用程序将重定向到一个当前无明显故障的peer集群。
  • 灾难恢复: 如果一个offline的集群重新online,则可以通过替代这个集群的peer集群恢复到当前的时间。
  • 工作负载分离: 将查询量较大的查询自动隔离到另一个集群,不影响其他工作负载较小的集群。在单Master的双活配置中,Master集群支持master运营型数据的更新,而peer集群进行较大的运营型和分析型查询工作负载。
  • 扩展和负载均衡: 如果所有集群都具有同样的数据,则任一集群都可以执行查询,并且应用程序可以通过负载均衡机制,将活动平均分配到各个集群。
  • 应用程序优化: 对于大量进行写的操作,即使应用程序-异地集群的连接缓慢,应用程序也可以根据地理位置进行本地化,因为各地都采用快速的本地连接。通过集群之间透明的复制和高速连接,即使对集群的直接访问较缓慢,所有的数据也是对所有的用户查询可见的。

对于希望实现跨地点数据复制的内部配置,跨数据中心的双活支持具有很多优势,还可以与云配置配合使用。例如,peer集群分布在不同的云(私有、公有,或混合云),或满足不断变化的业务需求的混合裸机/虚拟配置。

EsgynDB企业版2.0通过Trafodion的分布式事务管理器,支持多数据中心的多集群的事务。将事务更新透明地复制到所有集群,确保各集群数据的一致性,符合事务的提交协议(事务提交要求所有的集群都写入更新)。

通常,集群之间必须具有高速的网络带宽,以保证事务提交的速度。但是Esgyn使用普通的公共网络,测试了分布于美国和中国的集群配置,证明其可以用于较慢的网络(对于任务关键型的应用程序,高速的专用网络依然可以提供稳定的带宽)。设置网络时,必须支持应用程序-peer集群的连接,以便进行故障转移和灾难恢复。peer集群应该使用相似的硬件,保证在故障转移时,各集群的性能相同。

EsgynDB企业版2.0跨数据中心双活支持的故障转移需要重新连接到一个具有不同连接信息的集群。提交事务的路径略长于单个集群。

应用程序也能受益于双活集群配置。例如,如果应用程序工作负载可以使用多Mater配置中的任何集群,则其可以实现负载均衡(工作负载的均衡器可以在多个轻负载的peer集群上建立新的连接)。

今后,我们还将介绍DTM的原理和实现,以及跨数据中心双活配置的管理。如果您有任何问题,请发送邮件至info@esgyn.com。