[ANN] Syn v3
Sun Oct 24 10:13:02 CEST 2021
Syn v3 has just been released. For those who don't know what it is, Syn
(short for synonym) is a scalable global Process Registry and Process Group
manager for Erlang and Elixir. Syn automatically manages dynamic clusters
(addition / removal of nodes), and is also able to recover from net splits.
v3 builds upon the past experience to improve scalability & handling, and
the main differences are:
- Syn is now based on Scopes. A Scope is a way to create a namespaced,
logical overlay network running on top of the Erlang distribution cluster.
Nodes that belong to the same Scope will form a subcluster: they will
synchronize data between themselves, and themselves only.
- The callback mechanism has been redesigned to support local callbacks
so that every node is notified of register / unregister / join / leave and
update operations. This allows it to properly support node crashing & net
splits. Since the existence of Scopes, it is also now possible to define a
different callback logic per Scope.
- All rpc have been removed, and the registry conflict resolution
doesn't use a global lock anymore. This allows for better scalability and
should allow support for mixed-version cluster support, since internal
messages are now all versioned.
- Tests are now based on a 3 nodes cluster and include concurrency tests
Docs have been published with elixir's format and are available here:
You can get Syn from the usual suspects .
A quick thank you note for Fred Hebert, who has taken some of his time to
provide me with some helpful input on the design.
Feedback and questions are always welcome.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions