-
madmalkav
Draugr.de cert giving timestamp errors
-
Licaon_Kter
madmalkav: expired
-
madmalkav
Yeah, seems so
-
jjrh
Is there a XEP or document for building redundant xmpp server? Aka server A goes down due to a network or hardware failure and all the clients transition seamlessly to the new server.
-
madmalkav
In ejabberd, that is a cluster with a load balancer in front, pretty easy
-
madmalkav
But no xep standard for that afaik
-
jjrh
We run prosody. I vaguely remember talk about one day having cluster suport
-
MattJ
People have done it with Prosody, there are a couple of threads on the mailing list about it
-
jjrh
For redundancy or for load balancing?
-
jjrh
The use case is mostly recently on a couple occasions we had either power outages, hardware failures, or network/connectivity failures and thus because our chat is down we have no communication. Someone suggested we use IRC for these situations but that's kinda lame and requires a bunch of effort to setup a bouncer or weechat tunnel so my phone can connect.
-
jjrh
I'll check the prosody list to see what people suggested in the past
-
MattJ
jjrh, failover is pretty straightforward, but only one node must be accepting connectins at a time
-
jjrh
The failover is using like round-robin dns?
-
MattJ
So either you have something in front (like haproxy) or use DNS (SRV records support multiple targets)
-
MattJ
Obviously with something in front you just add another point of failure
-
jjrh
Yeah. My initial thinking is doing something like round robin DNS and having a second prosody server synced as best it can with the main one.
-
MattJ
Round-robin isn't what you want here
-
MattJ
SRV records allow multiple targets which are prioritized... so you would have a primary target and a fallback target that is used in case the first cannot be reached
-
jjrh
I thought that's what round robin did too?
-
jjrh
Like it can be used for load balancing but also simply if record 1 fails try record 2
-
MattJ
Round-robin is named such because it cycles round the servers evenly, it's for load balancing
-
MattJ
SRV target priorities are different
-
jjrh
I had assumed based on the name the same thing however Wikipedia says: "Round Robin DNS is a technique of load distribution, load balancing, or fault-tolerance provisioning multiple, redundant Internet Protocol service hosts"
-
jjrh
but since it''s XMPP multiple srv records is probably the right answer :)
-
MattJ
Round-robin also works in the case where a server is unavailable, but it continues to distribute the load evenly
-
SamWhited
It's fault-tolerance, not fallback. If you have round robin setup and one goes down the others will continue to receive requests, but they were receiving them the whole time.
-
jjrh
Keeping them sync'd is the other pain.
-
jjrh
guess since all the history and whatnot is in a database I can just setup a master/slave thing.
-
jjrh
Thanks for the feedback. :)
-
MattJ
Database replication will work, but note that only one instance of Prosody must be running at any time
-
MattJ
Otherwise they will overwrite each others' data, and you'll get inconsistencies
-
jjrh
Yeah good point. What I think would probably be easiest is have the backup server prosody not running, and when it finds it can't connect to the primary one it starts up prosody. The main server also checks if it can access a external server, if it can't it turns it's self off.
-
MattJ
Yep, that's what people tend to do
-
MattJ
There are tools that can do this, but I don't recall their names
-
jjrh
having the primary turn off prosody is important because the server might be fine but connectivity to the world isn't so machines at the office/lan would still be connected but external people wouldn't see anyone.
-
Maranda
@version lightwitch.org
-
Echo1
Maranda: lightwitch.org is running Metronome version 3.10.13 on Lux Perfecta