我正在学习Erlang,我来自一个很好的Python背景.我在项目中使用了RabbitMQ和Celery.
虽然Erlang具有非常强大的消息传递和并发功能,但使用RabbitMQ和Erlang有什么好处?我错过了这一点吗?为什么我不应该依赖Erlang的原生特性而不是在我的项目环境中添加另一层复杂性?
如果你正在对erlang进行erlang通信,你不需要像rabbitmq这样的东西.
如果你需要以崩溃弹性的形式提供稳健性,知道一项工作是否已经开始或完成,能够让后端流程失效而不必担心丢失工作等等,那么rabbitmq就有意义了.
另外,如果你想在多种语言 - erlang和ruby或node.js,c#,c ++,python等之间进行通信,那么rabbitmq就可以轻松实现.
使用rabbitmq,您将获得一个分离的分布式系统,使用代理与无代理的分布式系统(https://www.rabbitmq.com/blog/2010/09/22/broker-vs-brokerless/)
总是这不是一个"更好"的事情.但另一件事.经纪人和无经纪人都是有效的.