MySQL High Availability Framework Explained – Part II: Semisynchronous Replication