Most of the times, it's not simple round-robin, but also geo-based. This means clients will get ip addresses of the servers closest to them.
Most of the times, it's not simple round-robin, but also geo-based. This means clients will get ip addresses of the servers closest to them.
Edit: Double checking Libra Chat's website I see that they have added regional hostnames so I guess that's their solution.
otherwise, your netblock might have been falsely advertised in the dns provider's geoip database. (eg. maxmind)
I know geodns works here since I use it for some of my own deployments.
I just assume it was from an earlier internet where distributed systems weren't as well understood. I don't think it necessarily predates Paxos but it definitely predates Paxos being a household name.
irc 1988: https://en.m.wikipedia.org/wiki/Internet_Relay_Chat
Earliest reference for raft I can find is 2013.
A CRDT based append only implementation is probably more than enough?. Data is never modified only added/removed in typical chat workflows.
Reading discourd engineering blog over the years it looks like scaling the pub/sub for the consumers in large channels is lot harder than DB/store itself being distributed.