<h2 创建支持多可用区的集群
进入 腾讯云 Elasticsearch Service 购买页,选择【可用区部署模式】,设置多可用区网络。
说明:
- 由于要开启多可用区容灾的集群,必须先开启专用主节点,且最小为三个,所以能支持多可用区容灾功能的地域必须最少支持三个机房。目前仅有部分大地域如北上广支持多可用区容灾的功能,其他暂不开放的地域随着腾讯云机房的建设,我们也会持续的加入这个功能。
- 其他参数设置与单可用区基本一致。
以上海地域为例,在【可用区部署模式】中,支持创建双可用区和三可用区集群,用户需要选择和可用区数量相等的【可用区及子网】。
数据【节点数量】会自动按可用区的倍数调整。为了保证集群的稳定性及可靠性,当用户选择多个可用区时,【专用主节点】默认【开启】,可以选择【专用主节点】个数为三个或五个。专用主节点也会均匀的分布在三个可用区中,保证一个可用区发生不可用的情况下,不会出现超过一半的专用主节点不可用的情况,始终保持集群有超过法定的主节点选择个数,保证了集群的可靠性。
<h2 集群多可用区容灾原理
<h3 数据节点
为了保证多可用区容灾的功能生效,用户需要遵守以下原则:
- 购买集群的数据节点个数为可用区个数的倍数,例如选择两个可用区容灾,那么数据节点个数应该为2、4、6、8…以此类推。
- 索引分片至少设置1个副本,即保证集群始终有两份以上的数据。
ES 会自动的将用户所购买的数据节点均匀的部署在用户所选择的可用区中,且所部署的数据节点含有可用区感知的功能。该功能使用户数据的副本会分布到多个可用区中,保证单个可用区仅有一份副本。
ES 提供了 VPC 内负载均衡功能,用户通过我们提供的 VIP 连接集群,通过 ES 的 API 进行数据读写及集群控制操作。
- 此 VIP 绑定了集群内部的所有数据节点,并提供负载均衡功能,用户所有请求会平均分布到集群的各个数据节点上。
- 此 VIP 还带有健康检查功能,如一个周期内多次检查确认某节点没有响应,健康检查功能会暂时从 VIP 的绑定列表中摘除有问题的节点,直到节点恢复正常。
这样就保证了当某个节点宕机,或者某个机房的可用区不可用的情况下,自动的剔除有问题的节点,保证用户的客户端不会请求到有问题的节点。从而在可用区故障的情况下,实现客户业务无感知的切换,提高了客户业务的稳定性。
<h3 专用主节点
为了提高集群的可靠性,用户在使用多可用区容灾功能时最少要创建三个专用主节点,且分布在三个不同的可用区中。即便用户选择的是双可用区部署数据节点,我们也会自动的为用户再多选择一个可用区部署专用主节点。这种部署方式,可以保证当一个可用区不可用时,集群依旧有超过半数的法定主节点选举个数,可以保证集群的正常选主。