Company
Date Published
Author
Sean Lynch
Word count
1062
Language
English
Hacker News points
None

Summary

Membase chose to use Erlang for its cluster management and process supervision component due to its built-in support for concurrency, which allows for efficient and fault-tolerant concurrent task execution. Erlang's actor model of concurrency makes it difficult to implement the same level of concurrency in other languages without significant additional work. The language also provides a set of standard behaviors such as gen_server, gen_fsm, and gen_event that make it easy to structure complex applications as interacting processes. Additionally, Erlang's support for debugging and patching live systems is excellent, making it ideal for building highly available systems with five nines of uptime. While there are some disadvantages to using Erlang, including the need for additional runtime environment support, the benefits far outweigh the costs in terms of maintainability and fault tolerance.