目标:在k8s集群中部署一组MySQL集群
这里介绍两个业界比较常见的mysql集群架构
复制是mysql的内置功能。通过binlog回放实现主库的异步复制。
当master执行一条sql时,它会将sql保存到binlog中。从机中会有一个单独的IO线程来打开与主机的连接,然后读取主机的binlog。当master中的binlog有新数据(sql记录)时,slave的IO线程会将这个新数据读取到slave的relaylogrelaylog中。同时slave中有一个sql线程监控relaylog。当relaylog发生变化时,sql线程会读取这个变化并再次回放。
复制主要作为多点备份的读写分离模式。主节点提供写入,多个从节点通过负载均衡提供读取。