【问题标题】:AWS Network Load balancer for Kafka broker [duplicate]适用于 Kafka 代理的 AWS 网络负载均衡器 [重复]
【发布时间】:2019-12-18 11:38:53
【问题描述】:

我有 3 个节点的 kafka 集群(zookeeper 也安装在相同的 3 个节点上)。我不确定我是否将 AWS NLB 部署在我的代理前面。我有 3 个生产者,即使平均分配给所有 3 个代理,他们也会决定在哪里对其进行分区等等。我不知道我可以从 AWS NLB 获得什么好处以及它的缺点是什么。

【问题讨论】:

标签: amazon-web-services apache-kafka


【解决方案1】:

我也对此进行了研究,但没有找到太多帮助。我最终在我的代理前面放置了一个带有 TCP 目标组的 NLB,这就是原因:

  1. 避免一些 DNS 问题。我在 NLB A 记录上有一个 CNAME,这就是我用于引导服务器值的名称。只需将新代理添加到 NLB 目标组(通过 Cloudformation),我就可以无缝横向扩展。由于 DNS 记录,我现在没有绑定到我们 AWS 环境中的任何 IP。我还为 Zookeeper 节点使用 Route53 私有区域,因此代理只指向所有这些节点共享的整体 A 记录。
  2. 通过内置 CW 监控轻松监控代理运行状况。
  3. 我了解了使用 ELB 卸载 SSL 的好处,但我并不认为这是一个好处,因为客户端到代理通信仍然是非 SSL。我没有这样做,但我想我会列出它。

我还没有对 NLB 进行任何基准测试,但我并不太担心。 IMO,简化的 DNS 值得。

干杯

编辑:代理协议不适用于 Kafka,因此如果您希望能够通过源 IP 限制流量,在您的安全组中,您必须为您的 NLB 目标使用 type 'instance' vs type 'ip'组目标。

https://aws.amazon.com/premiumsupport/knowledge-center/security-group-load-balancer/

使用来自目标的 NLB 名称的经验教训:

https://aws.amazon.com/premiumsupport/knowledge-center/target-connection-fails-load-balancer/

对于这个问题,我只是在任何代理目标上将我的 --bootstrap-server 切换为“localhost”。

【讨论】:

    猜你喜欢
    • 2019-01-02
    • 1970-01-01
    • 2018-04-02
    • 2019-12-30
    • 2021-12-04
    • 2021-01-10
    • 2021-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多