四种redis架构
2022-05-25 21:48:23 1 举报
redis架构,及特点
作者其他创作
大纲/内容
master
0-2k
sentinel
4k-6k
心跳/监控
slave
2k-4k
优点:1. 读写分离,slave提供读服务,分担一部分master压力2. 当master异常,slave可以升级为master,一定程度上保障了高可用缺点:1. 进行主从选举重新选master的时候,无法进行写操作2. 写的压力仍然在master,大量请求情况下,会有存储上和写能力上的瓶颈问题3. master故障,需要人为介入选举后master ip更改问题,并进行新master数据同步
同步
读/写
优点:1. 数据天然一致性2.部署简单缺点:1. 无法保证高可用2. 有性能瓶颈问题,大量请求访问情况下(可能10w+),redis可能直接挂掉
单机
主从
读
gossip
优点:1. 读写分离,slave提供读服务,分担一部分master压力2. 当master异常,slave可以升级为master,一定程度上保障了高可用3. 通过哨兵进程,可以做到故障自切换,无需人为介入缺点:1. 进行主从选举重新选master的时候,无法进行写操作2. 写的压力仍然在master,大量请求情况下,会有存储上和性能上的瓶颈问题3. 动态扩容困难复杂
集群模式采用无中心架构,各个节点之间都通过gossip协议相互链接,交换维护元数据(gossip:以一定的频率,随机的选择一台进行数据共享)集群一般最少6个节点,保证高可用,三主三从三个主节点采用哈希分槽的方式处理客户端的请求,可以灵活的扩容缩容从节点在主节点故障时,替换对应的主节点。
数据同步
client
写
redis单线程单线程如何保障性能1. 基于内存读写,速度快2. I/O多路复用(epoll),非阻塞I/O,(一股脑扔出多个文件描述符,告诉内核监视,当就绪了通知线程去I/O,相当于你有几千个水龙头,等通知到哪个水龙头来水的时候,提桶去接)3. 数据结构采用hashmap,读写都是O(1)优点:1. 省去频繁的上下文切换的开销2. 省去锁的开销,也不会出现死锁的情况缺点:1. 因为是基于内存操作,内存和带宽最有可能会成为瓶颈2.无法重复使用多核cpu的性能
哨兵
集群
优点:1. 可扩展2. 高可用、分布式、高容错缺点:1. 采用异步同步,无法保证数据强一致性
redis
0 条评论
下一页