我有一个需要更新或插入数据到多个数据存储的场景。这不是逻辑的编排,只是插入/更新数据。但是多个后端。比如说 Oracle、Mongo、DB2 等。有多种方法可以实现它。我们正在研究以下选项:
1)使用点击更新主流上的不同后端。我担心这是 WireTap 模式的反模式。请指教。
2)我看到的更清洁的方法是开发一个自定义接收器来使用 Spring Integration 更新不同的后端。这种方法是有效/令人愉快的模式吗?
请提供您的意见,哪些是实现此用例的正确方法。
谢谢卡提克
1)使用点击更新主流上的不同后端。我担心这是 WireTap 模式的反模式。请指教。
不知道我理解你所说的反模式是什么意思。Spring XD 中的工作方式tap
是连接到消息总线上的 pub/sub(topic
对于 kafka 和exchange
rabbit)来接收分接的数据。
实际的窃听通道(为消息输出模块创建的 SI 通道)仍然有一个single
辅助通道,用于将消息发送to
到message-bus
. 您所要做的就是使用与数据一样多的点击流(作为此订阅者)连接到此发布/订阅receive
。
因此,我相信在您的情况下创建水龙头是有意义的。
感谢您的宝贵时间并感谢您。
我找到了一种更简洁的方法来实现以动态路由作为接收器来更新多个后端。然后动态路由器根据标头值将数据流式传输到流 A 和流 B,流 A 和流 B 将具有接收器以更新后端 RDBMS。
Tap,我不相信将业务关键数据更新到后端,它是一个 WireTap impl。
谢谢卡提克