该客户为国内知名的科创服务大数据平台,为用户和企业提供知识产权、资源搜索、匹配、管理等服务,致力打造国际一流的科创服务大数据基础设施。
随着业务规模的增长,业务侧对使用的 Elasticsearch(简称:ES)集群的数据可靠性、集群稳定性等方面的要求越来越高。需要建设一个双机房的高可用业务架构,实现 Elasticsearch 异地容灾,当一端机房出现不可用的情况下,另一端的机房可以随时接管业务。
传统的容灾方案存在各种弊端,这里针对该客户的实际需求实现了一套基于极限网关( INFINI Gateway)的多集群异地容灾方案,可以完美的解决传统容灾方案在实际运行中的各种问题,并结合该客户的实际需求,对双机房资源的利用,网络带宽是限制等方面进行了更加全面的考虑。总体架构设计如下图所示:
如上图,Gateway 组件将承载业务的查询和写入,并且在日常的业务运行过程中,通过 Gateway 还可以将一半的查询流量转发给机房 B 的 Elasticsearch 集群,从而充分利用所有在线的计算资源,降低 A 机房的负载,提升整体的查询体验。
该客户目前的数据采用的是每天晚上完全重建的方式,使用 CDP 平台的离线任务,将最新业务数据按照新的结构在 Elasticsearch 创建一份新的索引,待索引重建完成之后通过别名进行切换,从而完成新旧索引的替换。 通过这 CDP Platform 和 Elasticsearch 集群之间增加一层网关,可以让重建的写入请求无缝复制一份到机房 B 的对象存储,对于异地跨专线的数据复制,这个方案有如下优点:
两个机房分别独立部署业务系统、Elasticsearch 网关和 Elasticsearch 集群,业务系统正常情况下通过本机房的网关来访问 Elasticsearch,备机房的网关和业务系统正常情况下没有流量,当故障发生之后,可以随时启用备机房的应用和集群,主备机房的数据变更分别记录并管理,当主集群恢复之后,会立即将队列里面的数据进行同步,并最终保持一致。
极限网关功能简单,性能强悍,使用简单,通过使用极限网关,客户自建 Elasticsearch 集群可以安全无缝的复制到异地备份集群,在复制的过程中,两套集群通过网关进行了解耦,两套集群的版本也可以不一样,在迁移的过程中还能实现 Elasticsearch 版本的无缝升级。
让我们更多地了解您的场景和需求,为您找到合适的解决方案