【发布时间】:2016-02-29 10:00:02
【问题描述】:
我有一个服务器应用程序 A,它在请求到达时生成记录。我希望将这些记录保存在数据库中。但是,我不想让应用程序 A 线程花时间通过直接与数据库通信来持久化记录。因此,我考虑使用一个简单的生产者-消费者架构,其中应用程序 A 线程产生记录,另一个应用程序 B 线程是消费者,将记录保存到数据库中。
我正在寻找在应用程序 A 和 B 之间共享这些记录的“最佳”方式。一个重要的要求是应用程序 A 线程将始终能够将记录发送到 IPC 系统(例如队列,但这可能是一些其他解决方案)。因此,我认为记录必须始终存储在本地,以便应用程序 A 线程能够在网络中断时发送记录事件。
我想到的最初想法是使用本地消息队列(例如 ActiveMQ)。你认为本地消息队列合适吗?如果是,您是否推荐特定的消息队列实现?请注意,这两个应用程序都是用 Java 编写的。
谢谢,米凯尔
【问题讨论】:
标签: java ipc message-queue