s2s cluster question.

I've created ejabberd cluster of two machines, eg: j1.mydomain.net and j2.mydomain.net. ejabberd.cfg wast the same on both machines. They connected to each other and web interface indicated, that both are working fine within a cluster. Creating an account on one machine I was able to log in by manually specifing host for connection. For the test purpose I've logged onto j1.mydomain.net and opened a chat windows to my other jabber account, eg: test@anotherdomain.net. I've sent few chats and then, intentionnaly blocked traffic from machine j1.mydomain.net to anotherdomain.net (say: route add -host anotherdomain.net reject - no packed would get through ;) ). I was curious, whether ejabberd seeing that from j1.mydomain.net there is no way to send packet to anotherdomain.net and will try to s2s to anotherdomain.net thtough j2.mydomain.net. But there was no such action. And now the question: is there this kind of funcionnality and this must be configured or ejabberd don't support that. And if not, will be this support in the future?

is there this kind of funcion

is there this kind of funcionnality and this must be configured or ejabberd don't support that.

It does not support that.

And if not, will be this support in the future?

Likely no, considering how clustering is implemented in ejabberd.

Anyway, reconsider the scenario: you have several nodes, some of them can't contact with a certain server. Try to solve that problem, checking your network or talking with the other server admin. If nothing changes, inform your users to use specific nodes if they have contacts in that server.

This simple and easy to adopt solution is available right now. It does not require to plan, design, code, debug and maintain a new piece of code, so resources can be invested in other problems that can't be solved so easily.

but with that Jabber network

but with that Jabber network would be much more stable. And I don't know ejabberd code, but do You? ;) Is it that hard to implement? I do not think so. And I know Your answer: go learn erlang and write it yourself ;) maybe I'll do that ;)

Syndicate content