XMPP Service Operators - 2018-09-26

  1. madmalkav

    Draugr.de cert giving timestamp errors

  2. Licaon_Kter

    madmalkav: expired

  3. madmalkav

    Yeah, seems so

  4. 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.

  5. madmalkav

    In ejabberd, that is a cluster with a load balancer in front, pretty easy

  6. madmalkav

    But no xep standard for that afaik

  7. jjrh

    We run prosody. I vaguely remember talk about one day having cluster suport

  8. MattJ

    People have done it with Prosody, there are a couple of threads on the mailing list about it

  9. jjrh

    For redundancy or for load balancing?

  10. 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.

  11. jjrh

    I'll check the prosody list to see what people suggested in the past

  12. MattJ

    jjrh, failover is pretty straightforward, but only one node must be accepting connectins at a time

  13. jjrh

    The failover is using like round-robin dns?

  14. MattJ

    So either you have something in front (like haproxy) or use DNS (SRV records support multiple targets)

  15. MattJ

    Obviously with something in front you just add another point of failure

  16. 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.

  17. MattJ

    Round-robin isn't what you want here

  18. 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

  19. jjrh

    I thought that's what round robin did too?

  20. jjrh

    Like it can be used for load balancing but also simply if record 1 fails try record 2

  21. MattJ

    Round-robin is named such because it cycles round the servers evenly, it's for load balancing

  22. MattJ

    SRV target priorities are different

  23. 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"

  24. jjrh

    but since it''s XMPP multiple srv records is probably the right answer :)

  25. MattJ

    Round-robin also works in the case where a server is unavailable, but it continues to distribute the load evenly

  26. 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.

  27. jjrh

    Keeping them sync'd is the other pain.

  28. jjrh

    guess since all the history and whatnot is in a database I can just setup a master/slave thing.

  29. jjrh

    Thanks for the feedback. :)

  30. MattJ

    Database replication will work, but note that only one instance of Prosody must be running at any time

  31. MattJ

    Otherwise they will overwrite each others' data, and you'll get inconsistencies

  32. 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.

  33. MattJ

    Yep, that's what people tend to do

  34. MattJ

    There are tools that can do this, but I don't recall their names

  35. 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.

  36. Maranda

    @version lightwitch.org

  37. Echo1

    Maranda: lightwitch.org is running Metronome version 3.10.13 on Lux Perfecta