>  -------Original Message-------
>  From: Ragini <rag...@nishan.io>
>  To: freedom@nishan.io <freedom@nishan.io>
>  Subject: [freedom] RabbitMQ written in Erlang
>  Sent: 2024-06-04 15:04
>  
>  Hi,
>  
>  Has anyone used RabbitMQ?
>

Even you have used it. RabbitMQ is a hidden gem in OpenStack !

>  
>  Interestingly it is written in Erlang.
>  I wonder why did they choose Erlang?
>  

Erlang claim to fame is 'concurrency' with a high-level functional flavour. 
That means 10K problem and 5nine's are all dealt without a fuss.

>  Also I find it funny that the distributed database in RabbitMQ is called 
> Mnesia :D
>  

Mnesia foundation is ACID transaction support.

However, everything including queries is written in Erlang.

The Database model is best described here
https://en.wikipedia.org/wiki/Mnesia

>  Again, I wonder How Mnesia is better than other Distributed DBs in the 
> market?
>  

This is quite amazing
A key feature of Mnesia's high-availability approach is that tables can be 
reconfigured within a schema and relocated between nodes, not only while the 
database is still running, but even while write operations are still going on.

Mnesia was initially designed to work with OTP (Open Telecom Platform) 
framework of Erlang.

In summary
In the memorable words of (late) Joe Armstrong, if java is, "write once run 
everywhere", then Erlang is "write once run forever" !

FWIW. we must understand the architectural paradigm to fully leverage it within 
the context of HA | hot updates | concurrency.


warm regards
Saifi.

Reply via email to