Open ambertch opened 6 years ago
Having the domain name messaging.originprotocol.com resolve to multiple IPs will not work:
An option is to use an array of persistence servers and implement keep-alive + reconnect logic on the messaging client. Then, if a client cannot reach a server it can connect to another one.
A corner case, albeit a small likelihood, might be if a client cannot reach a server that is not actually down.
Initially I think it's probably ok if we have a single OrbitDB server, as long as we have monitoring and that we detect quickly if the server is down and that we either automatically or manually spin up a new one.
I think the most import goal in terms of messaging system reliability is to make sure that there is no message loss under any circumstances. If we show the user the message was sent, it should never get lost. Perhaps we can think about how we can provide this guarantee under the different failure scenarios ? In particular:
Add a second messaging server and create an HA setup. Some considerations may include: