AWS的最佳JMS实施

时间:2013-08-27 13:18:12

标签: amazon-web-services jms hornetq

我在Amazon AWS云中运行了一个Java / Spring应用程序。 我的服务器实例正在使用负载平衡,并使用Tomcat应用程序服务器运行Linus OS的相同映像。 它们还作为共享文件系统(s3fs)和RDS数据库连接到S3。

我担心的是确保不同应用程序的状态是同步的。今天,同步点是数据库,但是当需要内存缓存时,会出现不同步问题。

我想要使用的解决方案是在应用程序之间建立消息传递系统。由于特定原因,我无法使用Amazon SQS服务,那么JMS似乎符合我的需求。经过一番阅读,HornetQ似乎也是一个非常好的实现。应用程序状态更改后,它会将更改传递给所有其他应用程序。每个应用程序都是同一队列的生产者和使用者。

由于我们处于自动创建和删除服务器和IP的动态系统中,因此实例的自动发现似乎是最佳解决方案。

但在AWS中,广播是不可能的!

对于HornetQ,我看到了另外一种使用JGroups的工作。但对我来说,这是第二个调查和学习的框架。两次工作。而且不再是开箱即用的解决方案。

你有什么看法?有没有人已经为类似需求构建解决方案? 也许存在其他开箱即用的解决方案?

提前感谢您的回答!

1 个答案:

答案 0 :(得分:2)

根据我的经验,你可以尝试使用TCPGOSSIP,这是一个HornetQ配置。 见https://docs.jboss.org/jbossclustering/cluster_guide/5.1/html/jgroups.chapt.html