Spring 有 2 个来源的数据流提供一个 processor/sink

Spring Data Flow w/ 2 sources feeding one processor/sink

我正在寻找有关为特定用例设置 Spring 数据流的建议。

我的用例:

我有 2 个 RDBMS,我需要将查询 运行 的结果与每个进行比较。查询应该 运行 大致同时进行。根据比较结果,我应该可以通过我创建的自定义电子邮件接收器应用程序发送电子邮件。

我设想流图看起来像这样(抱歉画图):

据我所知,问题是 SDF 不允许流由 2 个源组成。在我看来,这样的事情应该是可能的,而不必将框架的限制推得太远。在 SDF 框架内工作时,我正在寻找为这种情况提供良好方法的答案。

我使用 Kafka 作为消息代理,数据流服务器使用 mysql 来保存流信息。

我考虑过创建一个自定义源应用程序,它轮询两个数据源并在输出通道上发送消息。这将消除我对 2 个源的要求,但看起来它需要对 jdbc 源应用程序进行大量自定义。

提前致谢。

我还没有真正尝试过,但是您应该可以使用命名目的地来实现。看这里:http://docs.spring.io/spring-cloud-dataflow/docs/current-SNAPSHOT/reference/htmlsingle/#spring-cloud-dataflow-stream-advanced

stream create --name jdbc1 --definition "jdbc > :dbSource"

stream create --name jdbc2 --definition "jdbc > :dbSource"

stream create --name processor --definition ":dbSource > aggregator | sink"