【问题标题】:Do I need Celery (distributed task queue) in this use case?在这个用例中我需要 Celery(分布式任务队列)吗?
【发布时间】:2012-05-15 21:53:36
【问题描述】:

我有两台网络服务器,一台是异步的,另一台是同步的。异步服务器处理页面上与客户端的实时交互,而同步服务器提供页面的静态内容,以及同步 Web 服务器的其他常见任务(例如身份验证、静态页面等)。

我想连接两个服务器,以便将异步服务器上收集的交互数据发送到同步服务器,然后同步服务器将数据保存到数据库中。为了实现这一点,我将使用 RabbitMQ,以便将包含数据的每条消息从异步服务器发送到同步服务器。同步服务器收到这些消息后,会一一处理。

我想知道我是否还需要使用 Celery 来提高这种两台服务器的性能?如果我需要将此设置扩展到多个异步服务器和多个同步服务器,该怎么办?那我应该如何使用 Celery 呢?

【问题讨论】:

    标签: rabbitmq celery


    【解决方案1】:

    你什么都明白,但你能在 celery Daemon 上实现保存东西吗?您还可以看到其他更简单的解决方案。您可以使用 http://docs.python-requests.org/en/latest/ 从异步服务器调用 GET-POST 请求到同步服务器。所以。它很容易从异步转换为同步。我认为现在更适合你。

    【讨论】:

    • 感谢您的建议。我选择了一个消息队列而不是 GET-POST 请求,因为它对于两个服务器之间的通信更加健壮,特别是考虑到使用 rabbitmq。您能否详细说明一下除了 rabbitmq 之外我应该如何使用 celery,为什么?
    猜你喜欢
    • 2013-04-20
    • 2020-05-20
    • 2015-06-16
    • 1970-01-01
    • 2017-04-02
    • 2021-03-16
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    相关资源
    最近更新 更多