[erlang-questions] Help with design of distributed fault-tolerant systems
Thu Oct 8 09:21:00 CEST 2015
Thanks for your reply. And I agree that dealing with these things in the
client is more flexible.
> ...the clients are perfectly prepared to handle failures with retries and
> failover to other service instances
Unfortunately the client software is already out there so we are also tied
with a VirtualIP through Load-Balancer architecture.
High Availability from client requests are dealt with OK though as client
will retry on failure (albeit to the same VIP) and is routed to a server
which can handle it.
The problem is more internal gen_servers (lookup tables, global task
servers, mini message queues). Small state which is periodically updated
and needed to serve clients request (where data is largely same for every
A background task which periodically fetches some information from an
external system and keeps the data in its state, there can only be one task
running globally (leader election?, failover?).
A gen_server router where various data sources can add themselves so that
requests get routed to the correct db-source. Either all nodes most connect
to a global gen_server which holds the info or ideally the info is shared
among multiple nodes. Again should I push state to database (then why use a
gen_server at all?) or what sort of architecture is needed to cater for
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions