【发布时间】:2015-01-28 16:32:06
【问题描述】:
我们使用的是没有 WEBSERVER 的 Core Java APP,它是多线程的。我们有一个要求,我们的应用程序要在客户环境中高度可用。 我们应用程序中的所有事务主要基于 ActiveMQ(Java 消息传递服务 TCP 连接),即我们使用消息队列与其他应用程序通信。我们也有 HTTP 连接 对于 ActiveMQ 的高可用,我们在 Master/Slave Configuration(Active/Passive) 中实现了它 为了我们应用程序的高可用性(主动/主动),我们考虑部署两个应用程序实例,它们将并行使用消息, 但是这个实现将排除我们保留消息的内部特性。只有当它们被处理时,我们才会确认来自 ActiveMQ 队列的消息。 因此,运行两个实例可能会导致相应消息的进程重复。
请就如何使我们的应用程序高度可用提供建议。 就地负载均衡器能解决我们的问题吗?还, 我们是否必须将我们的核心 Java 应用程序转换为服务?
提前致谢
【问题讨论】:
-
保留消息到底是什么意思?
-
保留消息意味着将消息保留在活动的 mq 消息队列中,直到它被处理。
-
啊,这应该不是问题,已经发布了答案
标签: java windows-services activemq