我们目前正在编写一个 IT 已经为其购买硬件的应用程序。他们的方法是购买我们将部署的大型硬件。为了增加更多的处理能力,他们计划添加具有相同软件的额外服务器。为了适应这种设计,我们使用 Terracotta 来提供运行多个 JVM 的能力,就好像它是一个大的一样。不管这是否是明智的选择(我仍然不相信),这就是我正在处理的情况。
无论如何,我们有一部分应用程序使用标准的生产者/消费者类型队列。使用 Terracotta,我们能够创建与多个 JVM 一起工作的单个队列。这很漂亮,而且效果很好。
但是现在,我们正在寻找更多的机会来运行异步进程。为了使我们所有的排队逻辑更加一致,我们正在考虑使用 JMS 来抽象出通用逻辑。由于我们不打算将 JMS 用作远程队列(至少在可预见的将来),我想知道 JMS 是否只是增加了不必要的复杂性。
有什么建议或想法吗?我们应该继续将队列构建为并发结构,还是将它们视为单独的、潜在的远程对象?