About clustering : importance of the master node vs the slave nodes

Hello,

I'm not sure to understand how a cluster of ejabberd's servers works.

Currently, I choose a master node and two slave nodes.
I run the master in normal way and the two slaves nodes with the option "-mnesia extra_db_nodes". The three nodes run correctly.

After that, I connect one client to each node.
If I stop one node, the client who was connected to it is deconnected. For me, it's normal. I understand that ejabberd doesn't support load balancing.

But my problem is when I stop the master node. The two clients on the slave nodes are not deconnected. But I can't connect a new client to this slave node.

Is it normal or not ? If the master node is so important, I'm not understand the interest to make clustering.

(Sorry for my english.)

Re: About clustering : importance of the master node vs the slav

ikss wrote:

... when I stop the master node ... I can't connect a new client to this slave node.

On the ejabberd guide section, section 'Clustering Setup', there is a step that explains you can add copies of tables on other nodes.

If the only copy of the table 'passwd' is on the master node, and you kill that node, how can slave nodes check the username and password?
Solution: configure all nodes to have disk (or 'disk and RAM', or 'ram') copies of 'passwd'.

You probably want the slave nodes to have a copy of the rosters too, so configure the 'roster' table the same way.

Re: Re: About clustering ... I'm so stupid !

I'm so stupid !
Thank you very much to have answered me.

Have you already used load balancing for an ejabberd cluster ? If yes, what solution do you adopt ? (Round Robin DNS, layers 4 routers, ...)

Syndicate content