我们应该运行具有3个副本的Kafka节点还是运行具有1个副本的3个Kafka节点?

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

我不了解运行1个具有3个副本的Kafka节点和3个均具有1个副本的Kafka节点之间的区别。

我们维护自己的Kubernetes集群,我们要在其中运行Kafka集群。我们正在使用Bitnami Helm chart

我们可以设置:

  1. ... 3个具有1个副本的不同Kafka服务,每个服务都有其自己的URL(例如localhost:9092,localhost:9093和localhost:9094)。
  2. ... 1个在3个副本中运行的Kafka服务(所有副本只有1个URL localhost:9092)。

同步方式有什么区别,什么是更好的配置方式?

kubernetes apache-kafka devops kubernetes-helm bitnami
1个回答
0
投票

1个具有3个副本的Kafka节点位于同一台计算机中。数据将存储在同一服务器中。在同一台Kafka服务器上进行复制是为了创建安全性以避免数据被破坏。

[大约3张带有1个副本的卡夫卡是另一种方法。例如,如果您的一台服务器发生故障,则如果从同一主题复制了所有数据,则另一台Kafka可以担任特定主题的负责人。这是卡夫卡的美丽之一。如果以正确的方式进行配置,则Zookeeper可以进行替换,并且服务不会崩溃。

您可以在生产中执行的最佳实践之一是创建两个动物园管理员(首席选举人),分别在不同的机器上放置3或4个卡夫卡,每个卡夫卡具有3个复制因子。这将在您的数据中建立强大的一致性,并且如果一台或两台服务器宕机,您的kafka也将以某种安全的方式运行。

这发生在我身上。 4台kafkas,2台下来,一切仍然正常运行。另外,一些细节需要放在配置上。建议您查看Stephane Maarek on YT

© www.soinside.com 2019 - 2024. All rights reserved.