mysql主从延迟
延迟原因
主库是多进程,从库是单进程(回放relaylog),在高并发的情况下,从库往往比主库执行得慢,所以会出现延迟。
解决办法
通过业务分库,变向将从库变为多进程方式执行同步:
- 方法一
按业务对库表进行划分,分别部署到不同的从库服务器上,主库就变为多进程并行作业了。
利用一致性hash来保证某个库的更新操作落在同一个从库进程上,具体算法:库名hash之后再模上进程数便得到进程序号。
- 方法二
按id来分库,譬如群聊按照groupid一致性hash分库,用户管理按照userid分库。