使用队列解耦 Java 应用程序:是一种最佳实践



我有两个应用程序(经典的java程序和一个批处理)必须相互处理。为了尽可能多地将它们分离为通信,我正在考虑在应用程序之间使用队列。

问题是第一个应用程序提供了一些Java对象,第二个应用程序必须将其转换为另一种对象类型(DTO模式),并使用新构建的对象执行一些业务逻辑和Web服务调用。在这种情况下,使用队列是最佳解决方案吗?

如果是,队列上是否存在性能问题(特别是考虑大小和消耗时间)?实现此队列的最佳方法是什么?

提前谢谢你:)

如果作业长时间运行且资源密集,队列可能是最佳解决方案。例如,如果您的批处理应用程序正在发送大量电子邮件,其中包含经典应用程序提供的每个内容,那么是的,队列是正确的解决方案。

队列

的缺点包括它引入了管理开销,例如您必须担心如果队列变得太大,如何将响应传递回经典应用程序等。

如果批处理程序

可以快速处理来自经典应用程序的每个请求,那么我会将批处理程序公开为 Web 服务,以便经典应用程序可以立即获得响应。

相关内容

最新更新