我有一个Java webapp(在Tomcat中运行),它使用ActiveMQ排队“作业”以响应用户采取的操作。
我正在考虑将应用程序移植到Google App Engine,我知道他们提供了一个任务队列API,但我更喜欢坚持使用一个消息/排队系统,这个系统不像容器一样特定,比如JMS或AMPQ。
我想知道是否可以在GAE内部启动一个消息服务器实例,如ActiveMQ或RabbitMQ。或者这个想法在像GAE这样的分布式环境中没有意义?我还在调查GAE,所以它的分布式特性对我来说有点神秘。
答案 0 :(得分:3)
您无法在GAE中使用ActiveMQ或RabbitMQ。如果您没有Cloud Hosting的任何偏好,您可以在 Amazon EC2 中配置尝试Active / RabbitMQ。
有关此问题的文章可在此link中找到。
更新:现在你可以使用Google Cloud Platform Compute Engine并在那里安装你的rabbitMQ / ActiveMQ。
答案 1 :(得分:2)
您无法在GAE内部启动ActiveMQ或RabbitMQ,您可以在其他地方运行它并使用实验套接字连接进行连接,但我怀疑它是否值得。
如果您担心锁定,那么编写某种使用任务队列API和GAE以及其他地方解决方案的抽象可能是更好的解决方案。
答案 2 :(得分:1)
现在可以在GAE中使用RabbitMQ:https://cloud.google.com/solutions/rabbitmq/