`

Redis 实践之集群方案

 
阅读更多

本文原创自 http://blog.csdn.net/voipmaker  转载注明出处。 

 

 

Redis集群的目的是实现数据的横向伸缩,把一块数据分片保存到多个机器,可以横向扩展数据库大小,扩展带宽,计算能力等。

 

实现数据分片(集群)方式大致有三种:

 

(1)     客户端实现数据分片

即客户端自己计算数据的key应该在哪个机器上存储和查找,此方法的好处是降低了服务器集群的复杂度,客户端实现数据分片时,服务器是独立的,服务器之前没有任何关联。多数redis客户端库实现了此功能,也叫sharding,这种方式的缺点是客户端需要实时知道当前集群节点的联系信息,

同时,当添加一个新的节点时,客户端要支持动态sharding.,多数客户端实现不支持此功能,需要重启redis。另一个弊端是redis的HA需要额外考虑。

 

(2)     服务器实现数据分片

其理论是,客户端随意与集群中的任何节点通信,服务器端负责计算某个key在哪个机器上,当客户端访问某台机器时,服务器计算对应的key应该存储在哪个机器,然后把结果返回给客户端,客户端再去对应的节点操作key,是一个重定向的过程,此方式是redis3.0正在实现,目前处于beta版本, Redis 3.0的集群同时支持HA功能,某个master节点挂了后,其slave会自动接管。

服务器端实现集群需要客户端语言实现服务器集群的协议,目前java,php,ruby客户端多数有redis-cluster客户端实现版本。

 

(3)     通过代理服务器实现数据分片

 

此方式是借助一个代理服务器实现数据分片,客户端直接与proxy联系,proxy计算集群节点信息,并把请求发送到对应的集群节点。降低了客户端的复杂度,需要proxy收集集群节点信息。Twemproxy是twitter开源的,实现这一功能的proxy.这个实现方式在客户端和服务器之间加了一个proxy,

但这是在redis 3.0稳定版本出来之前官方推荐的方式。结合redis-sentinel的HA方案,是个不错的组合。

 

分享到:
评论

相关推荐

    Redis集群搭建工具及教程

    总之,这个资源包提供了一站式解决方案,帮助你在Windows环境下搭建和管理Redis集群,结合文档和工具,你可以深入了解和实践Redis集群的相关知识。通过实际操作,你将能更好地理解和掌握这一强大的分布式数据存储...

    spring + redis集群

    在IT行业中,Spring框架与Redis的结合是常见的数据缓存解决方案。本文将深入探讨如何使用Spring Data Redis构建一个Redis集群,以及如何通过Spring框架来操作Redis集群,存储对象集合,并提供一个基于Maven的可运行...

    rancher2.3.6部署redis集群配置教程.pdf

    Redis集群指的是利用Redis数据库实现的高可用、高伸缩性的分布式存储解决方案。该文档提供了详细配置步骤,强调了其实践性和即插即用的特点。 描述中提到的“完整的配置”表明文档中会包含从零开始到部署完成所需的...

    redis 离线集群redis5.0以上版本

    Redis 5.0引入了官方的集群解决方案——Redis Cluster,它允许用户在多个节点之间分布数据,以实现高可用性和水平扩展。Redis Cluster无需中心化的协调节点,而是通过节点间的互相通信来管理集群状态。每个节点都...

    rediscluster集群demo

    Redis Cluster是Redis官方提供的分布式解决方案,它允许用户在多个节点之间分发数据,提供高可用性和可...通过实践这个“rediscluster集群demo”,你将更好地理解如何管理和操作Redis Cluster,以便在未来项目中应用。

    windows redis 主从集群实例加哨兵集群

    Redis Sentinel是一个高可用性解决方案,用于监控、警告以及自动故障转移。哨兵系统会持续检查主从集群的状态,当检测到主节点失效时,会自动将从节点提升为主节点,并通知其他客户端更新连接信息。这样可以极大地...

    Redis高可用集群实战与优化 - 打造稳定高效的数据存储方案

    Redis高可用集群实战与优化是构建稳定高效数据存储的关键步骤。相比哨兵模式,Redis集群模式在性能和可用性上有着显著优势。...通过对这些知识点的深入理解和实践,可以构建出稳定且高效的Redis数据存储方案。

    Redis Cluster集群部署搭建详解附件

    以上是关于Redis Cluster集群部署的详细步骤和知识点,通过学习和实践,您可以掌握如何搭建和管理自己的Redis分布式环境。请确保在实际环境中根据具体需求调整配置,并做好数据备份,以防万一。

    Redis-Cluster 分布式集群.docx

    Redis Cluster 是一个分布式数据存储解决方案,它允许将数据分散存储在多个节点上,以实现高可用性和可扩展性。在Redis Cluster中,每个...通过实践和熟悉这些操作,你将能够构建和维护一个可靠的Redis Cluster环境。

    Redis哨兵集群配置

    Redis哨兵集群是一种高可用性解决方案,用于监控和管理Redis主从复制结构。哨兵系统通过监控、故障检测和自动故障转移确保了集群的稳定运行。以下是对哨兵集群配置的详细步骤和相关知识点的解释: 1. **哨兵安装与...

    redis linux(集群&单机) + Tomcat Session共享

    Redis是世界上最受欢迎的内存数据存储系统之一,常用于缓存、数据库和消息中间件等场景。在Linux环境中,Redis的安装和配置对于开发者和运维人员来说是基础技能。本资料包提供了从单机到集群的Redis部署教程,以及与...

    redis哨兵跟集群搭建.zip

    Redis Sentinel和集群是提高Redis数据库高可用性和容错性的两种重要解决方案。让我们分别来深入了解这两个概念及其搭建过程。 首先,Redis Sentinel(哨兵)系统是一个监控和故障转移的工具,它可以监控一个或多个...

    spring集成redis,集成redis集群

    当我们谈论“Spring集成Redis集群”时,这意味着我们要在Spring应用中配置和使用多个Redis实例,形成一个高可用、高并发的数据库解决方案。 首先,让我们深入理解Spring对Redis支持的基本概念。Spring Data Redis...

    redis集群redis集群

    Redis集群是一种分布式存储解决方案,旨在提高Redis的可用性和伸缩性。Redis集群通过将数据分布在多个Redis节点上,并且提供故障转移和水平扩展的能力。本文档详细介绍了如何在CentOS 6.6环境下,使用VMware虚拟机...

    redis 详细实践笔记

    本实践笔记将深入探讨 Redis 的主从部署、哨兵系统以及集群配置,旨在帮助读者理解 Redis 在高可用性环境下的应用。 1. Redis 主从部署 主从部署是 Redis 提供的一种数据备份和故障恢复方案。主节点负责处理写操作...

    Ecology&Emessage&Emobile集群+redis部署方案.zip

    "Ecology&Emessage&Emobile集群+redis部署方案"就是一个这样的实践,它涵盖了生态系统建设、消息服务、移动应用以及Redis缓存的集成部署。接下来,我们将深入探讨这个方案中的核心知识点。 首先,"Ecology"在这里指...

    Redis集群搭建资料大整合

    Redis是一种高性能的键值对数据存储系统,常用于缓存、数据库和消息中间件等场景。...通过实践这些教程,你将能够熟练掌握如何在生产环境中部署和管理Redis集群,从而提升应用程序的性能和可靠性。

    go语言操作redis集群案例

    本篇文章将详细讲解如何使用Go语言操作Redis集群,让开发者能够更好地理解和实践这一组合。 首先,我们要理解Redis集群的基本概念。Redis集群是一种数据分片的解决方案,通过将数据分散到多个节点上,实现了数据的...

    redis-sentinel集群及双机热备

    Redis Sentinel集群和双机热备是 Redis 高可用性(High Availability, HA)的重要组成部分,它们确保了在主节点故障时能够快速切换到备份节点,从而维持服务的连续性。以下将详细介绍这两个概念以及相关配置和操作。...

Global site tag (gtag.js) - Google Analytics