I'm preparing the code for my MySQLConf 2010 session "MySQL Proxy meets: Memcache" where I'll present how to replicate from MySQL to memcache by using the MySQL Proxy.
Part of it will be using the semi-sync replication support for MySQL 5.5 to implement a synchronous MySQL-to-Memcache replication. All I need is the network protocol definition for semi-sync ...
The semi-sync replication is a implemented as replication plugin and lives in:
plugins/semisync/
The master sends a binlog event with a indication that it wants to get a reply for it. Compare these two events:
[0000] 28 00 00 01|00|00 00 00 00 04 01 00 00 00 27 00 (.............'. [0010] 00 00 00 00 00 00 20 00 14 01 00 00 00 00 00 00 ...... ......... [0020] 6c 6f 63 61 6c 2e 30 30 30 30 30 31 local.000001
... and now with semi-sync:
[0000] 2a 00 00 01|00|ef 00|00 00 00 00 04 01 00 00 00 *............... [0010] …[Read more]