
一句话承诺:一份 docker-compose + 两条配置,跑通主从与只读路由。

version: '3'
services:
mysql-master:
image: mysql:8
environment:
- MYSQL_ROOT_PASSWORD=pass
- MYSQL_REPLICATION_MODE=master
- MYSQL_REPLICATION_USER=repl
- MYSQL_REPLICATION_PASSWORD=replpass
ports: ["3306:3306"]
mysql-slave:
image: bitnami/mysql:8
environment:
- MYSQL_REPLICATION_MODE=slave
- MYSQL_REPLICATION_USER=repl
- MYSQL_REPLICATION_PASSWORD=replpass
- MYSQL_MASTER_HOST=mysql-master
- MYSQL_MASTER_PORT_NUMBER=3306const mysql = require('mysql2/promise');
const pool = mysql.createPoolCluster();
pool.add('WRITE', { host: 'localhost', port: 3306, user: 'root', password: 'pass' });
pool.add('READ1', { host: 'localhost', port: 3307, user: 'root', password: 'pass' });
// 写
await (await pool.getConnection('WRITE')).query('INSERT INTO t VALUES (1)');
// 读
await (await pool.getConnection('READ*')).query('SELECT * FROM t');Redis Stream 速查:消费者组与 pending 处理。