【问题标题】:Kafka consumers in the cloud云中的 Kafka 消费者
【发布时间】:2017-07-20 09:19:13
【问题描述】:

我正在使用 spring kafka 消费者,它们被包装在一个 Spring Boot 应用程序中,并在关键的 Cloud Foundry 中部署为微服务。我正在部署 15 个应用程序实例和 15 个 kafka 分区。由于这些实例中的大多数都是一一启动的,是否会执行多次重新平衡?在云中部署 kafka 消费者的推荐方式是什么?

【问题讨论】:

    标签: java apache-kafka cloud-foundry spring-kafka


    【解决方案1】:

    新的 0.11 客户端有一个新属性 group.initial.rebalance.delay.ms see Notable changes in 0.11.0.0

    引入了新配置group.initial.rebalance.delay.ms。此配置指定GroupCoordinator 将延迟初始消费者重新平衡的时间(以毫秒为单位)。随着新成员的加入,group.initial.rebalance.delay.ms 的值将进一步延迟再平衡,最大为max.poll.interval.ms。其默认值为 3 秒。在开发和测试期间,可能需要将此设置为 0,以免延迟测试执行时间。

    我们正在添加对 0.11 客户端的支持。目前计划在 2.0 Spring for Apache Kafka 版本中发布,但我们正在考虑 1.3 版本,其中包含 2.0 功能的子集,以及对 0.11 的支持。

    您可以尝试将新客户端与较旧的 spring-kafka 一起使用;它可能有效,但当然,您不会获得 0.11 功能,例如事务和Headers

    【讨论】:

    • 我认为可行的另一个选项是让所有侦听器容器在开始时停止,然后在云中的某个事件之后立即为所有侦听器容器执行启动,例如通过 Spring Cloud Bus
    猜你喜欢
    • 2020-09-19
    • 2017-01-04
    • 1970-01-01
    • 2018-10-15
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    相关资源
    最近更新 更多