【问题标题】:Multi-tenancy support in apache-kafkaapache-kafka 中的多租户支持
【发布时间】:2021-10-12 13:48:00
【问题描述】:

我有一个场景,多个客户端想要生成和使用消息。有没有办法在 apache kafka 中实现多租户,以便一个客户端通过另一个客户端的大量流入保持完整。 基本上,我想要一种将客户端标记为代理的方法,并且该客户端上的所有主题/分区都将属于标记的代理。 在这里,一个客户端在内部生成和使用消息。他们这样做是为了实现分布式处理。例如,父消息被分解为子消息,并在它们的任何机器上生成/处理这些子消息。

【问题讨论】:

    标签: apache-kafka


    【解决方案1】:

    客户端从其他客户端失败的一个原因是由于其他客户端导致代理的 I/O 饱和。

    避免这种情况的方法是enforce quotas

    我不明白你所说的“标签”是什么意思,因为你无法控制集群中的分区放置,因此不可能将数据从特定客户端发送到某些代理,除非你先创建一个主题然后手动重新分配分区和副本放置。

    【讨论】:

      【解决方案2】:

      客户是指客户租户吗?无论如何,如果关注的是在客户端之间有一个明确的负载分离(以避免拒绝攻击或饥饿),一种可能性是为不同的客户端设置不同的主题。这将在一定程度上分离负载(基于分区)但不完全分离,因为仍然共享各种资源。它也有它自己的缺点。缺点是

      • 分区不共享。如果一个客户端没有足够的负载,并且当分区没有太多读/写占用时,分区不会用于另一个主题中的另一个客户端。
      • 另一个陷阱是主题的数量将根据客户端数量而不是根据消息负载而增长。又不好了。

      另一种可能更好的避免拒绝攻击或客户端饥饿的方法是限制客户端生成(限制)消息的速率。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-02
        • 1970-01-01
        • 2014-01-17
        相关资源
        最近更新 更多