在卡夫卡和风暴的背景下构建多租户应用程序的最佳做法是什么?
例如:为每个租户创建主题并使用多主题spout(使用通配符)。
答案 0 :(得分:3)
我认为每个租户的话题都是正确的选择。
命名约定可能是这样的: topic_base_name_tenant_id 。
原因是:
现在让我们说我们将使用不同的方法。例如,每个租户的分区。这可能有问题,因为:
答案 1 :(得分:2)
有时,每个应用程序可能需要多个主题。在这种情况下,您可以遵循以下主题命名约定: topic_base_name_tenant_id。因此,对于给定的基本主题,您将拥有与租户数量相同的主题
答案 2 :(得分:1)
不要将我的答案视为“最佳实践”,因为我不是Kafka专家,但如果它有所帮助:我们遇到了类似的设计方案(一个Kafka端点可供多个团队使用,作为中心点事件创建和路由)。在考虑了不同的选择之后,我们决定了你的建议:每个应用程序有一个主题(你可以说是租户),根据应用程序的需要定制主题(分区,限制等)。
希望这有帮助。