Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS的最佳JMS实现_Amazon Web Services_Jms_Hornetq - Fatal编程技术网

Amazon web services AWS的最佳JMS实现

Amazon web services AWS的最佳JMS实现,amazon-web-services,jms,hornetq,Amazon Web Services,Jms,Hornetq,我有一个Java/Spring应用程序在AmazonAWS云中运行。 我的服务器实例正在使用负载平衡,运行与Linus OS相同的映像,并使用Tomcat应用服务器。 它们还作为共享文件系统(s3fs)和RDS数据库连接到S3 我关心的是确保不同应用程序的状态是同步的。今天,同步的重点是数据库,但是当需要内存缓存时,就会出现不同步的问题 我想使用的解决方案是在应用程序之间建立一个消息传递系统。由于特定的原因,我不能使用AmazonSQS服务,那么JMS似乎适合我的需要。经过一些阅读,Hornet

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

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

我想使用的解决方案是在应用程序之间建立一个消息传递系统。由于特定的原因,我不能使用AmazonSQS服务,那么JMS似乎适合我的需要。经过一些阅读,HornetQ似乎也是一个很好的实现。一旦应用程序状态发生更改,它会将更改通知所有其他应用程序。每个应用程序都是同一队列的生产者和消费者

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

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

对于HornetQ,我看到了一种额外使用JGroups的工作。但对我来说,这是第二个需要调查和学习的框架。两倍于工作。再也没有现成的解决方案了

你的意见是什么?是否有人已经为类似的需求构建了解决方案? 也许还有其他现成的解决方案


提前感谢您的回答

根据我的经验,您可以尝试使用TCPGOSIP,这是一种HornetQ配置。
请参见

在您的情况下,像memcached这样的共享缓存会工作吗?您要求的是缓存解决方案,而JMS只是同步多个缓存实例的一种可能性。因此,另一种可能是使用键/值存储(redis、memcached等),但我会看看Inifispan,它也使用JGroups。您的问题很有趣,但有点太宽泛了。@datasage memcached对我来说是一个解决方案,如果它在AWS系统中工作(无广播),并处理实例的自动创建/销毁。在这些要求下,memcached(容易)在集群中配置吗?AWS有一个带ElasticCache的托管memcached解决方案。您应该能够编写脚本来控制它。但您可以在ec2实例上构建自己的选项。@datasage我的应用程序必须能够在“非云”环境以及AWS中运行,因此依赖ElastiCache对我来说不是一个好的解决方案。但是,如果memcached在AWS中真的具有它的特性(动态实例)和限制(没有广播),那么对我来说就没问题了!你有在AWS使用它的经验吗?