是否可以使用预设模块在 Spring Cloud Data Flow 中实现复杂的并行处理器流?
例如:
处理器 1、2、3 都是预设模块(httpclient 等)。处理器 1 和 3 将同时从源获取相同的消息,然后处理器 1 将输出通过管道传输到处理器 2。处理器 2 和 3 完成后,它们同时将输出通过管道传输到处理器 4。处理器 2 的输出无关紧要,处理器 4 只获取 3 的输出是可以的。但是,处理器 3 应该仅在处理器 2 完成时向处理器 4 发送消息。
这可以使用 Spring Cloud Data Flow 来完成吗?
最佳答案
使用点击和指定目的地,您可以到达那里的大部分路线。
DSL 看起来像:
main-stream=source: http | processor1: script | processor2: script > :destination
second-stream=:main-stream.source > processor3: script > :destination
sink-stream=:destination > sink: log
处理器 2 和处理器 3 之间的同步听起来像是一种反模式。听起来更像是您需要处理器 3 从处理器 2 接收数据,而不是并行工作(它只需要消息的原始副本)。
关于spring-cloud-stream - Spring云数据流: complex parallel processors scenario?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69167307/