RabbitMQ 和 Pusher 有什么区别?

What's the difference between RabbitMQ and Pusher?

我正在构建一个 django webapp,我需要在其中实时传输网页上的一些股票市场交易。为了做到这一点,我正在寻找各种方法,我发现了 Pusher 和 RabbitMQ。

使用 RabbitMQ,我只需将消息发送到 RMQ 并从 Django 使用它们,以便将它们放在网页上。在寻找其他解决方案时,我还发现了 Pusher。对我来说,不清楚的是两者在技术上的区别。我不明白我应该在哪里使用 Rabbit 以及我应该在哪里使用 Pusher,有人可以向我解释一下它们有何不同吗?提前致谢!

  • 你可能会想到数据传递、非阻塞操作或推送 通知。或者你想使用发布/订阅,异步 处理,或工作队列。所有这些都是模式,它们形成 消息的一部分。

  • RabbitMQ 是一个消息传递代理 - 消息传递的中介。它
    为您的应用程序提供一个通用平台来发送和接收
    消息,以及您的消息在收到之前安全存放的地方。

  • Pusher 是一种托管服务,可以非常轻松地向 Web 和移动应用程序添加实时数据和功能。

  • Pusher 作为您的服务器和您的服务器之间的实时层 客户。 Pusher 维护与客户端的持久连接 - 如果可能,通过 WebSocket 并回退到基于 HTTP 连通性 - 这样一旦您的服务器有新数据 他们想通过 Pusher 立即推送给他们可以做的客户。

  • Pusher 提供库以集成到所有主要运行时和 构架。服务器上的 PHP、Ruby、Python、Java、.NET、Go 和 Node 和 Java客户端上的脚本、Objective-C (iOS) 和 Java (Android)。