MySQL 的读写分离方案,用得好能省掉你一半的性能烦恼。Amoeba 的配置方式比较简单,适合不想折腾太多脚本的你。写操作走主库,读操作扔给从库,压力一下就分散了,响应也快了不少。

读写分离其实就是个分工协作的逻辑,主库写数据,从库读数据,像流水线一样高效。对高并发业务友好,比如电商下单+查看订单,读多写少的场景效果更。

说到实现方式,分三种:中间件应用层数据库自身。中间件像 AmoebaMySQL Proxy 这种挺常见,Amoeba 更适合图省事,配置少;Proxy 灵活但脚本多,看你偏好。

Amoeba 的配置还挺直观的,主从建好之后配置下 dbServer.xml 就能跑。像下面这样授权主库复制权限:

GRANT REPLICATION SLAVE ON *.* TO repl_user@192.168.14.132 IDENTIFIED BY 'copy';

再在从库连回主库,就可以开始同步数据啦。让 Amoeba 接管主从,自动分流读写,省心不少。

哦对,主从同步用 STOP SLAVE + CHANGE MASTER TO 搭配配置就行,别忘了看下主库的 SHOW MASTER STATUS,不然位置错了同步出问题。

如果你用的是 Web 应用,又不想让后端到处判断主从,那 Amoeba 确实是个比较稳妥的选择。还可以和 MyCat 或 Proxy 比着选,适合自己的才最重要。