【问题标题】:Clustered MDBs with Spring使用 Spring 的集群 MDB
【发布时间】:2012-07-02 19:48:05
【问题描述】:
我有一个现有的 spring/JPA 应用程序和一些我想并行运行的业务逻辑。几年前,在一个电信应用程序中,我有类似的需求,我们通过在 JBoss 集群中的工作节点上执行并行代码来处理这个问题。主节点将作业分包到队列中,工作节点将通过 MDB 获取它们。
我现在也可以这样做,但我不确定从 Spring/JPA 过渡到集群/并行环境的最佳方式是什么。也许 Spring 支持这样的东西,我不必再陷入 JBoss 的臃肿。
干杯,
布赖恩
【问题讨论】:
标签:
java
spring
cluster-computing
distributed-computing
【解决方案1】:
Spring 提供的所有 API 都是对现有服务的更好的 API,它不提供任何自己的 API。如果您想要分布式消息传递,那么您将需要使用提供该服务的技术。如果它符合 JMS 标准,那么 Spring 会让您的生活更轻松一些,但仅此而已。
因此,坚持使用 JBoss 集群是一种选择。或者,使用更轻量级的解决方案,例如 HornetQ、ActiveMQ(两种 JMS 实现都可以嵌入到任何旧应用程序中),或者像 Terracotta、Infinigrid 或 GigaSpaces 这样的计算网格。 Spring 不提供对计算网格的显式支持,但它们可能更适合您的问题。