DB收集
https://db-engines.com/
https://cloud.tencent.com/developer/article/1423607 异地多活场景下的数据同步之道
https://blog.csdn.net/lifetragedy/article/details/106194301 mysql一主多从以及使用springboot aop进行读写分离的搭建的正确姿式
https://blog.csdn.net/helloxiaozhe/article/details/79548186 Mysql主从基本原理,主要形式以及主从同步延迟原理 (读写分离)导致主库从库数据不一致问题的及解决方案
binlog 同步组件
- 阿里巴巴开源的canal
- 美团开源的puma
- linkedin开源的databus
1) 主从分工
其中Master负责写操作的负载,也就是说一切写的操作都在Master上进行,而读的操作则分摊到Slave上进行。这样一来的可以大大提高读取的效率。在一般的互联网应用中,经过一些数据调查得出结论,读/写的比例大概在 10:1左右 ,也就是说大量的数据操作是集中在读的操作,这也就是为什么我们会有多个Slave的原因。但是为什么要分离读和写呢?熟悉DB的研发人员都知道,写操作涉及到锁的问题,不管是行锁还是表锁还是块锁,都是比较降低系统执行效率的事情。我们这样的分离是把写操作集中在一个节点上,而读操作其其他的N个节点上进行,从另一个方面有效的提高了读的效率,保证了系统的高可用性。
(2) 基本过程
1)、Mysql的主从同步就是当master(主库)发生数据变化的时候,会实时同步到slave(从库)。
2)、主从复制可以水平扩展数据库的负载能力,容错,高可用,数据备份。
3)、不管是delete、update、insert,还是创建函数、存储过程,都是在master上,当master有操作的时候,slave会快速的接受到这些操作,从而做同步。
(3) 用途和条件
1)、mysql主从复制用途
●实时灾备,用于故障切换
●读写分离,提供查询服务
●备份,避免影响业务
2)、主从部署必要条件:
●主库开启binlog日志(设置log-bin参数)
●主从server-id不同
●从库服务器能连通主库