Reputation: 17719
I am learning Erlang and I came from a good Python background. I used RabbitMQ with Celery in my projects.
While Erlang has a very powerful messaging and concurrency capabilities, what are benefits of using RabbitMQ with Erlang? Am I missing the point? Why shouldn't I rely on native features of Erlang instead of adding another layer of complexity to my project environment?
Upvotes: 5
Views: 3031
Reputation: 72868
if you're doing erlang to erlang communication, you don't need something like rabbitmq.
if you need robustness in the form of crash resilience, knowing whether or not a job was started or completed, being able to let a back-end process go down and not worry too much about losing work, etc. then rabbitmq would make sense.
additionally, if you want to communicate between more than one language - erlang and ruby or node.js, c#, c++, python, etc. rabbitmq makes that easy.
with rabbitmq, you get a decoupled, distributed system, using a broker vs a distributed system that is brokerless (https://www.rabbitmq.com/blog/2010/09/22/broker-vs-brokerless/)
this is not a "better" thing, always. but a different thing. broker and brokerless are both valid and useful.
Upvotes: 10