面试问题redis有哪些集群方案
2017-08-31 12:24
232 查看
Codis – 豌豆荚
Redis Cluster – 官方
Twemproxy:
多个同构twemproxy(配置相同)同时工作, 接受客户端的请求,根据hash算法,转发给对应的redis。
优点:
- 开发简单,对应用几乎透明
- 历史悠久,方案成熟
缺点:
- 代理影响性能
- lvs和twemproxy会有节点性能瓶颈
- redis扩容非常麻烦
- twitter内部已放弃使用该方案,新使用的架构未开源
Codis:
ZooKeeper: 存放路由表和代理节点元数据 分发Codis-Config的命令 Codis-Config : 集成管理工具,有web界面 Codis-Proxy : 无状态代理,兼容Redis协议 对业务透明 Codis-Redis: 基于2.8版本,二次开发 加入slot支持和迁移命令
优点:
- 开发简单,对应用几乎透明
- 性能比Twemproxy好
- 有图形化界面,扩容容易,运维方便
缺点:
- 代理依旧影响性能
- 组件过多,需要很多机器资源
- 修改了redis代码,导致和官方无法同步,新特性跟进缓慢
- 开发团队准备主推基于redis改造的reborndb
Redis Cluster:
P2P模式,无中心化 把key分成16384个slot 每个实例负责一部分slot 客户端请求若不在连接的实例,该实例会转发给对应的实例。 通过Gossip协议同步节点信息
优点:
- 组件all-in-box,部署简单,节约机器资源
- 性能比proxy模式好
- 自动故障转移、Slot迁移中数据可用
- 官方原生集群方案,更新与支持有保障
缺点:
- 架构比较新,最佳实践较少
- 多键操作支持有限(驱动可以曲线救国)
- 为了性能提升,客户端需要缓存路由表信息
- 节点发现、reshard操作不够自动化
相关文章推荐
- 大公司面试喜欢问的Java问题都有哪些?
- Redis详解之-集群方案:高性能(使用原生Redis Cluster)(四)
- 关于java Tomcat 集群的面试问题
- Redis高可用方案-哨兵与集群
- 基于Twemproxy的Redis集群方案部署
- Redis 测试以及集群部署方案
- Redis的集群方案之Sentinel(哨兵模式)(待实践)
- Redis集群方案之Twemproxy+HAProxy+Keepalived+Sentinel+主从复制(待实践)
- rabbitmq和redis的集群方案
- redis集群 官方方案redis-cluster搭建实战
- Redis 集群方案
- Android面试 - 网络基础会问哪些问题及其解答
- Redis 集群方案
- Redis集群方案,Codis安装测试
- Redis集群方案介绍
- 大数据集群失联问题解决方案
- 百度「Web 前端研发部」面试过程和常见问题 可能会采用哪些方法来面试 STAR 面试法 喜欢什么样的面试者 喜欢问的问题
- Redis 集群方案
- SpringBoot获取Redis集群实例有缺少的问题->为Redis集群新增节点分配slot
- (转)Redis 集群方案