单机
优点:
部署简单
缺点:
性能受限于单台服务器性能,难以横向拓展,容灾能力差
主从同步
是什么:
主从同步即一个master节点,多个slave节点且slave节点也可拥有slave节点
主从同步的方式有两种:全量同步和增量同步
- 全量同步:master生成RDB发给slave,slave加载写入
- 增量同步:master每次数据操作都同步到slave
优点:
主从同步可以让master负责写操作,slave负责读操作,性能相较单机有提升
缺点:
性能受单个master限制,不易横向拓展,容灾能力差,不能高可用
哨兵机制
是什么:
一个master,多个slave,每个节点由哨兵进程监控,哨兵每隔一段时间检查master是否失去连接,如果失去连接,其他哨兵也检查master是否失去连接,如果半数以上哨兵检查master失去连接,master下线,从slave中选出一台成为新master。如果是slave失去连接,则slave下线。
优点:
高可用,容灾能力强
缺点:
性能仍受单个master限制,不易横向拓展
集群
是什么:
多个master,多个slave,可使用哨兵。
数据根据crc-16算法将key散列为16383个slot,不同master负责不同的数据。
优点:
性能强,易拓展,高可用,容灾能力强
缺点:
部署复杂,成本高