How to do a takeover?
Wed Mar 16 09:29:18 CET 2005
Anders Nygren wrote:
>I have started looking at how to do a takeover.
>In my tests I discovered that I need to do a global:reregister_name
>to "move" the name of my server to the new node, and how to move some
>state information from the old to the new node.
>The way my current design works is that I have a number of gen_servers.
>When one server needs to call another server it spawns a worker that makes the
>call, so as to not block. This gives me the problem that I have a lot of workers
>that must terminated correctly before the takeover can be finalized.
>But I dont understand how to make a controlled transfer of messages in the
>mailbox, or linked worker processes.
>My best guess now is that I have to stop using gen_server:call to other servers
>and instead use an interface between my servers that always sends messages to
>processes with globally registered names.
This tutorial by Ulf Wiger, at least touches on the topic:
More information about the erlang-questions