apache flink-为多租户应用程序多次运行同一作业

50pmv0ei  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(640)

我们有一个多租户应用程序,其中为每个租户维护消息队列。我们实现了一个flink作业来处理来自消息队列的流数据。基本上,每个消息队列都是flink作业中的一个源。这是推荐的方法吗?或者可以根据租户的数量多次运行同一个作业(使用一个源)?我们期望每个租户将产生不同数量的数据。多任务方法是否具有可伸缩性优势?
方法一:单一工作多来源2。运行相同作业的副本,每个作业有一个源
我认为这些方法适合storm、spark或任何其他流媒体平台。
谢谢您

ilmyapht

ilmyapht1#

性能方面的方法1)具有最大的潜力。不同来源的资源得到更好的利用。但由于其来源不同,查询本身的优化潜力有限。
然而,如果我们真的讨论多租户,我会选择第二种方法。您可以为应用程序分配更多的细粒度权限(例如,哪个kafka主题可以使用,哪个s3 bucket可以写入)。由于大多数应用程序开发人员都倾向于开发符合gdpr的工作流(即使当前的国家可能不会受到影响),所以为了安全起见,我会走这条路。这种方法还有一个优点,即如果添加/删除某个租户,则不需要为每个人重新启动作业。

相关问题