将Rebus与遗留系统集成

  • 本文关键字:系统集成 Rebus rebus
  • 更新时间 :
  • 英文 :


有时我们需要将现有的遗留系统与使用rebus等框架开发的新工作流和微服务集成。

很多时候,应用程序都是使用语言和技术开发的,这些语言和技术有时难以融入这些工作流。

我认为Rebus在这方面有参与的空间,特别是因为Rebus可以使用SQL Server或其他数据库来排队消息。所需要的是一种简单的方法,可以将消息从存储过程或触发器创建到表队列中。

记住,有些数据库版本不支持json数据类型,例如SQL Server版本<2016年?。感谢

通常,最好的方法是使用"通道适配器"模式,这基本上意味着您可以在系统外围编写小程序,负责将遗留应用程序与消息驱动架构集成。

如果要与SQL Server集成,通道适配器可以是一个小程序,用于查找数据库中的更改,并将这些更改作为事件发布到总线上。

实现这一点的一个好方法是,让触发器写入数据库中按顺序编号的事件日志,然后旁边的一个小应用程序会从事件日志中获取事件并发布它们,跟踪其读取位置。

当然也可以尝试挂接Rebus的传输,例如,在SQL Server中使触发器将消息写入Rebus用于消息的表,但这要困难得多,而且更脆弱,因为您的集成将具有更广泛的面向世界的接口。。。。所以我不推荐这种方法!

此外,Rebus的一个好处是,当您发现用消息构建东西很酷,并且您所需的总消息吞吐量超过SQL Server所能处理的吞吐量时,您可以在以后的某个时间切换到RabbitMQ。。。如果您的集成对Rebus的传输进行了假设,那么切换将更加困难。

只有我的两美分。

最新更新