mysql
公司版本 5.7(最新版本 8) 默认最大连接数 150
数据库读写比 一般为 7:3
1主3从,主从复制
master 单点写,不能停机,停机就不能接受写请求了
如果 slave 太多,master io 压力太大,响应会变慢
双主,主主复制,一读一写
优点 可以通过 keepalived 把写节点做成高可用
缺点 读节点只有一个,并发能力有限
多层 slave 集联复制
优点 减轻了单点 master 的复制压力
缺点 加大了从节点复制延迟
2主3从
1号主节点 负责接受写请求,并同步数据到 2号主节点
2号主节点 负责同步数据到 3个从节点
优点
主节点有两个,可以通过 keepalived 把主节点做成高可用
压力比较分散,延迟不明显,写请求压力集中在1号主节点,复制压力集中在2号主节点
----------------------------
redo log / undo log / bin log
redo log 重做日志,用于故障恢复,实现异常情况下的持久性
记录的是 undo log, buffer pool 里的变化,是物理日志
记录的是 在某个数据页上做了什么修改
redo log 刷盘策略 - 把 redo log buffer 中的物理日志刷盘到 redo log file
innodb_flush_log_at_trx_commit
0 commit 提交写入 log buffer, 每秒写入 os buffer 并调用 fsync()函数刷盘
1 commit 提交写入 os buffer 并调用 fsync()函数刷盘
2 co