什么时候应将Kafka Streams应用程序拆分为多个应用程序?

时间:2018-10-12 22:49:27

标签: apache-kafka apache-kafka-streams

您怎么知道何时将Kafka Streams应用程序拆分为多个应用程序?

例如,我正在使用一个容器化的Streams应用程序,该应用程序处理从数据库流式传输的记录并将其输出到新流中。每个表在消费和生产方面都有自己的流,并且每个产生的新流都将用于相同的逻辑目的。

在这种情况下,将应用程序分成每个表流的单独的流应用程序是否明智,还是在同一个应用程序中执行所有这些处理会更好?

以下是将Kafka Streams应用程序拆分为多个应用程序的优缺点:

专业人士

  • 更改将来如何处理特定表流意味着只需要重新启动执行该处理的容器即可。
  • 每个应用程序都非常轻巧,专用于它的一个目的(在此示例中,以这种新方式处理数据库表流并输出)。

缺点

  • 所有这些附加容器的管理变得更加困难。
  • 代码共享变得更加困难,因为诸如序列化器/反序列化器之类的共享资源现在需要转换为库,而不是从应用程序的不同部分导入。

0 个答案:

没有答案