Meta: Make distributed deployments possible
In the light of #277 and Project Hexanet's internal needs. Here is the list of things to do:
- [x] #259
Refactoring:
- [x] #303
- [x] Replace updatepipe package written for go-imap v1 with a better update dispatcher.
- [ ] Implement support for some distributed broker - to be used with IMAP updates distribution.
- [ ] #262.
- [x] #304
Several queries should be optimized/reworked in go-imap-sql in order to behave well in a distributed environment:
- [ ] https://github.com/foxcpp/go-imap-sql/issues/28
- [ ] https://github.com/foxcpp/go-imap-sql/issues/33
Officially support CockroachDB:
- [x] https://github.com/foxcpp/go-imap-sql/issues/5
- [ ] Officially support CockroachDB use with auth.sql_table/auth.sql_query.
In other words, we have a long way to go. :)
Is this relevant to https://github.com/foxcpp/maddy/discussions/473 by any chance?..
Yes, it is directly related. Currently, maddy does but support any deployment setup using active replication. For MX redundancy, your best solution is to configure second MX to buffer incoming messages and attempt resending them to the main server infinitely.