当前位置: 首页 > 知识库问答 >
问题:

Kafka-有没有可能改变主题的分区计数,同时保持变化对生产者和消费者透明?

沈子实
2023-03-14

我正在对Kafka进行调查,以评估它是否适合我们的用例。你能帮我理解一下Kafka在改变一个现有主题的分区数量方面有多灵活吗?

具体地说,

  1. 有没有可能在不拆集群的情况下更改分区的数量?
  2. 有没有可能做到这一点而不把话题拉低呢?
  3. 添加/删除分区是否会自动处理跨新分区重新分发消息的问题?

共有1个答案

顾英发
2023-03-14

1.有没有可能在不拆集群的情况下改变分区数量?

是的,kafka支持在运行时增加分区数,但由于其设计,不支持减少分区数

2.有没有可能做到这一点而又不使话题落伍?

 类似资料:
  • 假设我有一个名为“MyTopic”的主题,它有3个分区P0、P1和P2。这些分区中的每一个都有一个leader,并且本主题的数据(消息)分布在这些分区中。 1.Producer将始终根据代理上的负载以循环方式写到分区的领导者。对吗? 2.制作人如何认识隔断的首领?

  • 我正在创建一个系统,其中前端服务将消息推送到Kafka请求主题,并为一些下游后端消费者(实际上是一个最终推送回Kafka的复杂系统)监听另一个响应主题,以处理请求消息并最终推进到“回应”话题。 我试图找出最优雅的方法来确保消费者监听适当的分区并收到响应,并且后端推送到前端消费者正在监听的分区。我们总是需要确保响应到达产生初始消息的同一个消费者。 到目前为止,我有两种解决方案,但都不是特别令人满意的

  • 我对kafka ACL配置有点困惑,在这里我们为生产者和消费者配置授权。有各种示例显示使用命令行生成/消费消息。我们是否需要任何额外的配置来使用JAVA api产生/消费消息到/从安全的kafka主题。

  • 向Kafka推送100,000条消息 在使用者使用所有100,000条消息之前,使用Ctrl-C关闭zookeeper和kafka服务(这是通过在consumer方法中使用来模拟的)。 发现 在zookeeper和kafka服务被关闭后,消费者继续在控制台上写消息。 问题 我如何使消费者从上次消费的消息的索引+1继续。 向Kafka推送100,000条消息 在使用者使用所有100,000条消息之前

  • 在这种情况下,我是否需要求助于Kafka事务API来在消费者轮询循环中创建事务生产者,在该循环中,我在事务中执行:(1)处理消耗的记录和(2)在关闭事务之前提交它们的偏移量。在这种情况下,普通的commitsync/commitasync是否有效?

  • 我有一个多分区主题,由多个使用者(同一组)使用。我的目标是最大化消费处理,即任何消费者都可以消费来自任何分区的消息。 我知道这看起来是不可能的,因为只有一个消费者可以从一个分区中消费。 有没有可能使用REST代理来实现这一点?例如,轮询所有代理消费者实例。 谢了。