标签: kafka-cluster

Kafka:高可用最少需要多少个broker?

假设我想在小型部署的生产环境中拥有高度可用的 Kafka。我必须使用以下配置

min.insync.replicas=2 // Don't want to lose messages in case of 1 broker crash    
default.replication.factor=3 // Will let producer write in case of 1 replica disappear with broker crash
Run Code Online (Sandbox Code Playgroud)

如果 1 个 broker 崩溃并且 1 个副本消失,Kafka 会开始制作新副本吗?

在任何情况下,我们是否必须至少有default.replication.factor数量的经纪人才能继续工作?

high-availability apache-kafka kafka-cluster

7
推荐指数
2
解决办法
5391
查看次数

了解卡夫卡的写作速度

鉴于
1.五机Kafka集群
2. 1主题与1分区
3.持久存储为msgs
4.每消息1 KB
5. 10生产者

现在,这个集群的最大写入能力是否等于一个java线程的最大写入能力到磁盘上?如果不是,它会是什么?

java performance apache-kafka kafka-cluster

6
推荐指数
1
解决办法
211
查看次数

卡夫卡:基于群体的方法来选举新的领导者?

有两种保持副本同步的常见策略,即主备份复制和基于仲裁的复制,如此处所述

\n\n
\n

在主备复制中,领导者会等待组中每个副本的写入完成,然后再确认客户端。如果其中一个副本发生故障,领导者会将其从当前组中删除,并继续写入其余副本。如果失败的副本返回并赶上领导者,则允许其重新加入组。通过 f 个副本,主备复制可以容忍 f-1 故障。

\n\n

在基于仲裁的方法中,领导者会等待,直到大多数副本上的写入完成。即使某些副本已关闭,副本组的大小也不会改变\xe2\x80\x99t\n。如果有 2f+1 个副本,\n 基于仲裁的复制可以容忍 f 个副本失败。如果领导者失败,则至少需要 f+1 个副本才能选举新的领导者。

\n
\n\n

If the leader fails, it needs at least f+1 replicas to elect a new leader我对基于法定人数的方法中的声明有疑问。我的问题是为什么f+1需要 at 副本的法定人数(多数)来选举新的领导者?f+1 为什么不选择同步副本(ISR)之外的任何副本?为什么\n我们需要选举而不是简单的任意选择?

\n\n

对于选举,zookeeper 如何从剩余副本中选举出最终的领导者?它会比较哪个副本是最新更新的吗?另外,为什么我需要奇数数量(比如 3)的 Zookeper 来选举领导者,而不是偶数数量(比如 2)?

\n

apache-kafka apache-zookeeper kafka-cluster

5
推荐指数
1
解决办法
6509
查看次数

在 Kafka HA 中,为什么需要的最少代理数量是 3 而不是 2

我们正在尝试使用 kafka 集群来实现 Kafka HA。在做研发的时候,我们发现zookeeper & kafka broker推荐的最小节点数是3。

我们理解为什么 Zookeeper 应该至少有 3 个节点,因为对于领导者选举,最少 (n+1)/2 个节点应该启动并运行。

但不清楚,为什么至少需要 3 个 kafka 经纪人。为什么我们不能用 2 个 kafka 代理和 3 个 zookeepr 节点来实现 HA?

apache-kafka kafka-cluster

5
推荐指数
1
解决办法
4975
查看次数

Kafka集群和Kafka Broker有什么区别?

Kafka clusterKafka broker一样的意思吗?

我知道集群有多个代理(这是错误的吗?)。

但是当我编写代码来生成消息时,我发现很尴尬option

props.put("bootstrap.servers", "kafka001:9092, kafka002:9092, kafka003:9092");
Run Code Online (Sandbox Code Playgroud)

这是代理地址还是集群地址?如果这是经纪人地址,我认为这不好,因为当经纪人计数变化时我们必须修改上面的地址。
(但这似乎是经纪人地址..)

此外,我在亚马逊看到MSK,我们可以向每个AZ.
这意味着,我们不能有很多经纪人。(最多三四个?)

他们指导我们应该将此代理地址写入 bootstrap.server option as a,`单独的列表。

为什么他们不指导我们使用集群地址或ARN

apache-kafka kafka-cluster aws-msk

0
推荐指数
1
解决办法
4535
查看次数