如何加入多个Kafka主题?

uqjltbpv  于 2021-06-07  发布在  Kafka
关注(0)|答案(3)|浏览(367)

所以我。。。
包含常规应用程序日志的第一个主题(log4j)。存储http api请求/响应、警告、异常等内容。。。可以有多个日志与一个逻辑业务请求相关联(这些日志在几秒钟内发生)
第二个主题包含来自上述业务请求的命令,其他服务将对这些命令执行操作(这些命令也会在几秒钟内发出,但可能会在最初请求的几分钟后发出)
第三个主题包含从这些其他服务的操作生成的事件(大多数事件在几秒钟内完成,但有些可能需要3-5天才能收到)
因此,单个逻辑业务请求可以有多个日志、命令和事件,通过微服务相互传递的uuid与之关联。
那么,有哪些技术/模式可以用来阅读这3个主题,并将它们作为一个json文档连接起来,然后将它们转储到elasticsearch中呢?
流动?

cbjzeqam

cbjzeqam1#

和问题一样,在合流ksql查询中是否可以使用多个左连接?尝试与多个表连接流,如果没有,那么解决方案是什么?似乎不能在同一个查询中有多个连接键。

1zmg4dgp

1zmg4dgp2#

您可以使用ksql加入流。
ksql表/流中有两个构造。
目前,流和表都支持连接。所以你需要确定哪个适合什么?
连接不需要窗口化。
使用ksql的好处。
ksql易于设置。
ksql是帮助您快速查询数据的sql语言。
缺点。
它还没有准备好生产,但在2018年4月即将发布。
它的小马车现在,但肯定会改善在几个月内。
请看一看。
https://github.com/confluentinc/ksql

czq61nw1

czq61nw13#

您可以使用kafka streams或ksql来实现这一点。哪一个取决于您对java的偏好/经验,以及您想要执行的连接的具体情况。
ksql是apachekafka的sql流引擎,仅使用sql就可以针对kafka主题声明流处理应用程序。您可以过滤、丰富和聚合主题。目前只支持流表联接。您可以在本文中看到一个示例
kafka streams api是apachekafka的一部分,是一个java库,您可以使用它在apachekafka中对数据进行流处理。它实际上是ksql的基础,支持更大的处理灵活性,包括流连接。

相关问题