Spring 云数据流:复杂的并行处理器场景?
Spring Cloud Data Flow: complex parallel processors scenario?
是否可以使用预设模块在 spring 云数据流中实现复杂的并行处理器流?
例如:
处理器1、2、3都是预设模块(httpclient等)。处理器 1 和 3 将同时从源获得相同的消息,然后处理器 1 将输出通过管道传输到处理器 2。处理器 2 和 3 完成后,它们同时将输出通过管道传输到处理器 4。处理器 2 的输出是无关紧要的,处理器 4 只从处理器 3 获得输出是可以的。但是,处理器 3 应该只在处理器 2 完成时向处理器 4 发送消息。
这是否可以使用 Spring 云数据流来完成?
使用点击和命名的目的地,您可以到达那里的大部分路线。
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 云数据流中实现复杂的并行处理器流?
例如:
处理器1、2、3都是预设模块(httpclient等)。处理器 1 和 3 将同时从源获得相同的消息,然后处理器 1 将输出通过管道传输到处理器 2。处理器 2 和 3 完成后,它们同时将输出通过管道传输到处理器 4。处理器 2 的输出是无关紧要的,处理器 4 只从处理器 3 获得输出是可以的。但是,处理器 3 应该只在处理器 2 完成时向处理器 4 发送消息。
这是否可以使用 Spring 云数据流来完成?
使用点击和命名的目的地,您可以到达那里的大部分路线。
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 接收,而不是并行工作(它只需要消息的原始副本)。