redis集群和分布式区别
Redis  /  管理员 发布于 7年前   176
分布式是指将业务系统进行拆分,即分布式的每一个节点都是实现不同的功能。
集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。 (推荐学习:Redis视频教程)
简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。
Redis Cluster 集群模式通常具有高可用、可扩展性、分布式、容错等特性。Redis 分布式方案一般有两种:
客户端分区方案
客户端就已经决定数据会被存储到哪个 redis 节点或者从哪个 redis 节点读取数据。其主要思想是采用哈希算法将 Redis 数据的 key 进行散列,通过 hash 函数,特定的 key会映射到特定的 Redis 节点上。
客户端分区方案的代表为 Redis Sharding,Redis Sharding 是 Redis Cluster 出来之前,业界普遍使用的 Redis多实例集群方法。Java 的 Redis 客户端驱动库 Jedis,支持 Redis Sharding 功能,即 ShardedJedis 以及结合缓存池的 ShardedJedisPool。
优点
不使用第三方中间件,分区逻辑可控,配置简单,节点之间无关联,容易线性扩展,灵活性强。
缺点
客户端无法动态增删服务节点,客户端需要自行维护分发逻辑,客户端之间无连接共享,会造成连接浪费。
代理分区方案
客户端发送请求到一个代理组件,代理解析客户端的数据,并将请求转发至正确的节点,最后将结果回复给客户端。
优点:简化客户端的分布式逻辑,客户端透明接入,切换成本低,代理的转发和存储分离。 缺点:多了一层代理层,加重了架构部署复杂度和性能损耗。
代理分区主流实现的有方案有 Twemproxy 和 Codis。
Twemproxy
Twemproxy 也叫 nutcraker,是 twitter 开源的一个 redis 和 memcache 的中间代理服务器程序。Twemproxy 作为代理,可接受来自多个程序的访问,按照路由规则,转发给后台的各个 Redis 服务器,再原路返回。Twemproxy 存在单点故障问题,需要结合 Lvs 和 Keepalived 做高可用方案。
优点:应用范围广,稳定性较高,中间代理层高可用。 缺点:无法平滑地水平扩容/缩容,无可视化管理界面,运维不友好,出现故障,不能自动转移。
Codis
Codis 是一个分布式Redis 解决方案,对于上层应用来说,连接 Codis-Proxy 和直接连接原生的Redis-Server 没有的区别。Codis 底层会处理请求的转发,不停机的进行数据迁移等工作。Codis 采用了无状态的代理层,对于客户端来说,一切都是透明的。
优点
实现了上层 Proxy 和底层 Redis 的高可用,数据分片和自动平衡,提供命令行接口和 RESTful API,提供监控和管理界面,可以动态添加和删除Redis 节点。
缺点
部署架构和配置复杂,不支持跨机房和多租户,不支持鉴权管理。
更多Redis相关技术文章,请访问Redis数据库使用入门教程栏目进行学习!
以上就是redis集群和分布式区别的详细内容,更多请关注其它相关文章!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号