Today's pop quiz: replication

Nicola Nye nicolan at fastmail.com
Thu Jul 23 01:18:09 EDT 2015


Hi Cyrus,

I'm currently working on some basic architecture diagrams that will
complement the documentation to show the moving parts. Today's topic:
replication.

Based on a delightfully drawn whiteboard session with Bron, I am left
with a couple of queries:

Do we have multiple sync_clients because a new one is spawned by a
master for each change (and then the process finishes), or is there an
actual pool of sync clients which handle each change and persist idle.

Is the file format of the sync log defined anywhere? I assume it
correlates with a set of commands. (Not that this is important to a
user: it may as well be opaque, but it made me wonder!)

I failed to note where the sync_server fits in. Is it a separate process
that lives alongside the master imap server and sits there constantly
checking the log files generated by sync_client to be handled?

I also have in my wonderful drawing a picture of a number of channels. I
assume these are (part of) a config given to the sync_server so it knows
where to broadcast all the changes defined in the log files to? Or have
I misunderstood what a channel is?

   Nicola


More information about the Cyrus-devel mailing list