Elasticseach的模型如何转换为这些高可用性模式?

问题描述 投票:0回答:1

我一直在研究Elasticsearch可用性模型,其中您创建具有主节点和数据节点的集群[1],其中主节点控制集群,数据节点保存数据。您还可以为每个索引设置通过这些数据节点分布的许多分片和副本。

我也看到了[2],高可用性模式通常是故障转移(主动-被动或主动-主动)和/或复制(主从机或主-主)的某种模型。但是我无法将这些信息整合在一起。如何按照这种模式对模型进行分类?

[还有[3]个其他NoSQL数据库,例如MongoDB,具有类似的HA模型,并使用Kubernetes中的StatefulSets部署为集群。我想更多地了解它的工作原理。有任何提示吗?

参考:

[1] https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html

[2] https://www.slideshare.net/jboner/scalability-availability-stability-patterns/33-What_do_we_mean_withAvailability

[3] https://kubernetes.io/blog/2017/01/running-mongodb-on-kubernetes-with-statefulsets/

elasticsearch nosql cluster-computing high-availability kubernetes-statefulset
1个回答
0
投票

Kubernetes中的StatefulSet

在分布式系统中,处理stateless工作负载要容易得多,因为它包含更多状态,并且将服务复制到任意数量的副本很简单。在Kubernetes中,无状态工作负载由ReplicaSet管理(从Deployment部署)。

大多数服务都需要某种状态。 StatefulSet管理Kubernetes上的stateful工作负载,它与ReplicaSet的不同之处在于,由StatefulSet管理的Pod具有唯一的身份,该身份由序数,稳定的网络身份和稳定的存储组成。

故障转移和复制

我还看到高可用性模式通常是故障转移(主动-被动或主动-主动)和/或复制(主从或主-主)的某种模型。但是我无法将这些信息整合在一起。如何按照这种模式对模型进行分类?

这些是非常过时的模式。现在,Consensus算法是高可用性 故障转移的准则,因为这两个问题都是关于复制领导选举的。 Raft(2013)是最受欢迎的共识算法之一,如果您想进一步了解High-AvailabilityFail-over,< [复制者和共识

Elasticsearch似乎将Designing Data-Intensive Applications用于其聚类。任何

master-eligible

节点都可以当选为master,建议至少有三个(出于高可用性)

节点的作用

具有主节点和数据节点的群集,其中,主节点控制群集,数据节点保存数据。您还可以为每个索引设置通过这些数据节点分布的许多分片和副本。

节点在Elasticsearch集群中可以扮演多个角色。当您拥有小型群集时,您的节点可以具有多个角色,例如

master-eligible

data都可以,但是随着群集增长到更多节点,建议为角色分配专用节点。
© www.soinside.com 2019 - 2024. All rights reserved.