本质
持久化 — 将内存中的数据写入到磁盘(写入形式为文件、数据库等均可)
主从复制 — 将一台机械的数据复制到另一台或者多台机械。
解决的问题
数据安全 - 防止因为一台服务器异常宕机损坏,造成数据丢失
高可用 - 防止因为主服务器宕机,造成集群异常或者不可用
持久化方式
同步异步维度
同步
数据在内存中更新or写入完毕后必须同时在磁盘中更新or写入完毕后才算成功
优缺点
安全性高,能实时保证磁盘与内存数据的强一致性
性能下降
异步
主线程在内存中更新or写入数据成功后即可返回客户端成功,异步启动子线程再对数据进行写入or更新磁盘
优缺点
内存与磁盘数据可能不一致,会造成数据丢失
性能高
触发机制
同步的触发机制
客户端的每次增删改操作
异步触发机制
客户的每次增删改
定时 — 周期性操作,每隔多长时间
定量 — 多少个操作命令 or 多少条数据
主从复制方式
推拉维度
推
主服务器向从服务器不断push数据,主服务器是主动的,从服务器是被动的
拉
从服务器从主服务器pull数据,从服务器是主动的,主服务器是被动的
同步异步维度
同步
异步
触发机制
实时
主服务器每一次的数据变更(修改或者删除),都实时同步到从服务器
周期
通过定时任务,每隔一段时间启动定时任务,进行主从数据同步
数据量
当主服务器有多少条数据变更或是积累的多少增改命令,进行主从数据同步
信号
设置信号的触发条件,如数据的变更、时间、数据量的积累等等