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?
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With