【问题标题】:Kafka, configuring a single vs multiple broker servers for clients?Kafka,为客户端配置单个或多个代理服务器?
【发布时间】:2018-11-19 00:22:14
【问题描述】:

我使用代理 ips 列表在我的 kafka 生产者/消费者/流应用程序中配置 bootstrap.servers。但我想移动到单个 url 条目,该条目将通过 DNS 查找解析到当前称为 up 的代理 ip(DNS 主动检查集群中的代理并使用 IP 短 TTL [10s] 响应查找) .这让我在未来可以更灵活地添加代理,并且我可以在所有环境/阶段的应用程序中保持相同的配置。这是推荐的方法,还是消除客户端的弹性以没有严格的经纪人列表?我假设此配置仅用于最初“发现”集群和分区领导代理。

【问题讨论】:

  • 我猜你可以做到。当然,如果您的 DNS 出现故障,您也会陷入困境。 bootstrap.server 配置的想法是,通过提供至少 3 个代理 URL 来应对代理中断——这三个代理不会同时可用的可能性很小。如果您想要更多的弹性,您还可以选择列表中的更多经纪人。这避免了 DNS 服务的必要性。我猜这是你个人的决定。

标签: apache-kafka kafka-consumer-api kafka-producer-api


【解决方案1】:

如果有的话,我会说这会在您提供的单个地址上增加一个单点故障,除非它实际上是一个负载平衡的反向代理。

另一种在内部运作良好的可能性是使用 Consul 服务发现,Consul 代理在每个代理上运行。这样,您可以进行服务发现以及健康检查和更轻松的监控设置,例如在代理上拥有 Prometheus jmx_exporter,Prometheus 服务器为所有 kafka.service.consul 地址抓取这些值

【讨论】:

    猜你喜欢
    • 2023-03-19
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多