自定义接收器:多个后端

时间:2015-05-28 14:35:33

标签: tap spring-xd sink

我有一个场景需要更新或将数据插入多个数据存储区。这不是逻辑的简单插入/更新数据。但多个后端。说Oracle,Mongo,DB2等。有多种方法可以实现它。我们正在考虑选项:

1)使用tap更新主流上的不同后端。我担心这是对WireTap模式的反模式。请指教。

2)我看到的更清洁的方法是开发一个Custom Sink来使用Spring Integration更新不同的后端。这种方法是有效/可接受的模式吗?

请提供您的输入,以确定实现此用例的正确方法。

由于 KARTHIK

2 个答案:

答案 0 :(得分:0)

  

1)使用tap更新主流上的不同后端。我担心这是对WireTap模式的反模式。请指教。

不确定我理解反模式的含义。 {X}在Spring XD中的工作方式是连接到消息总线上的pub / sub(kafka为tap,兔子为topic)以接收被点击的数据。

实际的有线通道(为消息输出模块创建的SI通道)仍然会有一个exchange辅助通道,用于在single上发送消息to发布/订阅。您所要做的就是使用尽可能多的抽头流(作为此订阅者)连接到此pub / sub到message-bus数据。

因此,我相信在您的情况下创建水龙头是有意义的。

答案 1 :(得分:0)

感谢您的时间并感谢它。

我找到了一种更简洁的方法来实现将动态路由更新为多个后端作为接收器。然后,动态路由器将基于标头值的数据流式传输到流A和流B,这些流将具有用于更新后端RDBMS的接收器。

点击,我不相信将业务关键数据更新为后端,这是一个WireTap impl。

由于 KARTHIK