【问题标题】:Is it possible to use a traditional MQ (RabbitMQ or ActiveMQ) in GAE?是否可以在 GAE 中使用传统的 MQ(RabbitMQ 或 ActiveMQ)?
【发布时间】:2013-01-07 21:19:09
【问题描述】:

我有一个 Java webapp(在 Tomcat 中运行),它使用 ActiveMQ 将“作业”排队以响应用户执行的操作。

我正在考虑将应用程序移植到 Google App Engine,并且我知道他们提供了一个任务队列 API,但我更愿意坚持使用不太特定于容器的消息传递/队列系统,例如 JMS 或 AMPQ。

我想知道是否可以在 GAE 内启动消息服务器的实例,例如 ActiveMQ 或 RabbitMQ。或者这个想法在像 GAE 这样的分布式环境中没有意义吗?我仍然只是在研究 GAE,所以它的分布式特性在这一点上对我来说有点神秘。

【问题讨论】:

    标签: google-app-engine activemq rabbitmq amqp


    【解决方案1】:

    您不能在 GAE 中使用 ActiveMQ 或 RabbitMQ。如果您对 Cloud Hosting 没有任何偏好,您可以在 Amazon EC2 中配置 try Active/RabbitMQ。

    可以在link 中找到讨论此问题的文章。

    更新:现在您可以使用 Google Cloud Platform Compute Engine 并在那里安装您的 rabbitMQ/ActiveMQ。

    【讨论】:

    • 我想我宁愿坚持使用 GAE,但感谢您提供有关 EC2 的信息。我一直在努力使我的应用程序尽可能与容器无关,因此这可能仍然值得研究。
    【解决方案2】:

    现在可以在 GAE 中使用 RabbitMQ:https://cloud.google.com/solutions/rabbitmq/

    【讨论】:

    • Google App Engine 和 Google Cloud Platform 实际上是两个不同的产品。 GCP 是一个完整的 VM 解决方案,很像 Amazon 的 EC2。
    • Google App Engine 和 Google Cloud Platform Compute Engine 是 2 个不同的产品。
    【解决方案3】:

    您不能在 GAE 中启动 ActiveMQ 或 RabbitMQ,您可以在其他地方运行它并使用实验性套接字连接进行连接,但我怀疑这是否值得。

    如果您担心锁定,编写某种抽象,将任务队列 API 与 GAE 和其他解决方案结合使用可能是一个更好的解决方案。

    【讨论】:

    • 这似乎是最好的方法。事情已经很抽象了,所以我想我只会编写新的任务队列实现并更新我的 Spring 配置。谢谢。
    猜你喜欢
    • 2020-05-19
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 2020-05-21
    • 2011-01-16
    • 1970-01-01
    相关资源
    最近更新 更多