【问题标题】:Spring Data Flow w/ 2 sources feeding one processor/sink带有 2 个源的 Spring Data Flow 为一个处理器/接收器提供数据
【发布时间】:2017-04-26 00:50:31
【问题描述】:

我正在寻找一些关于为特定用例设置 Spring Data Flow 流的建议。

我的用例:

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

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

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

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

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

提前致谢。

【问题讨论】:

    标签: spring-xd spring-cloud-stream spring-cloud-dataflow


    【解决方案1】:

    我还没有真正尝试过,但您应该能够使用命名目的地来实现这一点。看这里: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"

    【讨论】:

    • 谢谢!实现了这个,它做了我想要的。我将很快提出另一个关于确定指定目的地中消息来源的问题——以防你对那里有任何见解。
    猜你喜欢
    • 2017-12-20
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 2020-09-30
    • 2021-11-09
    • 1970-01-01
    • 2019-12-07
    • 2021-06-12
    相关资源
    最近更新 更多