setting up distributed environment
Wed Aug 30 15:30:20 CEST 2006
It's a bit unclear what do you mean by a 'master' node. Mnesia doesn't
have a notion of a master or slave. Any node that has a replicated
table can have local writes to that table that will be propagated to
other replicas. The level of control that mnesia gives you is what
nodes host disk/ram copies of a table.
In your application you could have two nodes running on two separate
hosts with tables created using 'disc_copies' option. The mnesia
application would need to be started with the 'extra_db_nodes' option
containing these two nodes ['', '']. The remaining
nodes could have mnesia started with the same 'extra_db_nodes' option,
and have these tables replicated as ram_copies if needed. This option
would be applicable if you needed to provide quick local access to
tables by some other node ''.
You should be concerned with the fact that the more nodes you have a
table replicated to, the longer each transactional write to such a table
will take, and also the more sensitive your overall solution will be to
intermittent network outages.
Igor Goryachev wrote:
> Hello everyone.
> I am going to setup erlangish application. My purpose is to make it
> fault-tolerant by replicating it's mnesia over several nodes. Still I
> have some doubts concerned with setting master nodes.
> I will have two machines for the first time (lets consider ''
> and ''). Am I right I am going to make '' master node
> of '' and vice versa. Any thoughts? Well, and what about when
> number of nodes more that two?
> Thank you veru much for the attention.
More information about the erlang-questions