【问题标题】:What are benefits of using RabbitMQ in Erlang?在 Erlang 中使用 RabbitMQ 有什么好处?
【发布时间】:2016-11-05 00:19:28
【问题描述】:

我正在学习 Erlang,我有良好的 Python 背景。我在我的项目中使用了带有 Celery 的 RabbitMQ。

虽然 Erlang 具有非常强大的消息传递和并发功能,但将 RabbitMQ 与 Erlang 结合使用有什么好处? 我错过了重点吗?为什么我不应该依赖 Erlang 的原生特性,而不是为我的项目环境增加另一层复杂性?

【问题讨论】:

  • 这可能会引起舆论反应,但这是一个有价值的问题,第一个答案表明有可靠的基于事实的理由来选择其中一个。

标签: erlang rabbitmq


【解决方案1】:

如果你正在做 erlang 到 erlang 的通信,你不需要像 rabbitmq 这样的东西。

如果您需要崩溃恢复形式的健壮性,知道工作是否已启动或完成,能够让后端进程停止并且不必太担心丢失工作等,那么 rabbitmq 会有道理。

此外,如果您想在不止一种语言之间进行交流 - erlang 和 ruby​​ 或 node.js、c#、c++、python 等,rabbitmq 可以轻松实现。

使用 rabbitmq,您可以获得一个解耦的分布式系统,使用代理与无代理的分布式系统 (https://www.rabbitmq.com/blog/2010/09/22/broker-vs-brokerless/)

这始终不是“更好”的事情。但另一回事。 broker 和 brokerless 都是有效且有用的。

【讨论】:

    猜你喜欢
    • 2014-02-10
    • 2012-01-21
    • 2011-01-15
    • 2016-01-30
    • 2019-01-16
    • 2018-01-22
    • 2016-06-27
    • 2015-10-18
    • 2015-11-05
    相关资源
    最近更新 更多