写点什么

高可用、开源的 Redis 缓存集群方案

  • 2014-11-13
  • 本文字数:1254 字

    阅读完需:约 4 分钟

由于单台 Redis 服务器的内存管理能力有限,使用过大内存的 Redis 又会使得服务器的性能急剧下降,一旦服务器发生故障将会影响更大范围业务,而 Redis 3.0 beta1 支持的集群功能还不适合生产环境的使用。于是为了获取更好的 Redis 缓存性能及可用性,很多公司都研发了 Redis 缓存集群方案。现对 NetFlix 、Twitter、国内的豌豆荚在缓存集群方面的解决方案进行一个汇总,以供读者参考,具体内容如下:

1、NetFlix 对 Dynamo 的开源通用实现 Dynomite

Dynomite 是 NetFlix 对亚马逊分布式存储引擎 Dynamo 的一个开源通用实现,使用 C/C++ 语言编写、以代理的方式实现的 Redis 缓存集群方案。Dynomite 不仅能够将基于内存的 Redis 和 Memcached 打造成分布式数据库,还支持持久化的 MySQL、 BerkeleyDB LevelDB 等数据库,并具有简单、高效、支持跨数据中心的数据复制等优点。Dynomite 的最终目标是提供数据库存储引擎不能提供的简单、高效、跨数据中心的数据复制功能。Dynomite 遵循 Apache License 2.0 开源协议发布,更多关于 Dynomite 的信息请查看 NetFlix 技术博客对 Dynomite 的介绍

2、Twitter 的 Redis/Memcached 代理服务 Twemproxy

Twemproxy 是一个使用 C 语言编写、以代理的方式实现的、轻量级的 Redis 代理服务器,它通过引入一个代理层,将应用程序后端的多台 Redis 实例进行统一管理,使应用程序只需要在 Twemproxy 上进行操作,而不用关心后面具体有多少个真实的 Redis 或 Memcached 实例,从而实现了基于 Redis 和 Memcached 的集群服务。当某个节点宕掉时,Twemproxy 可以自动将它从集群中剔除,而当它恢复服务时,Twemproxy 也会自动连接。由于是代理,所以 Twemproxy 会有微小的性能损失。根据 Redis 作者的测试结果,在大多数情况下,Twemproxy 的性能相当不错,同直接操作 Redis 相比,最多只有 20% 的性能损失。Twemproxy 遵循 Apache License 2.0 开源协议发布,更多关于 Twemproxy 的信息请登录其在 GitHub 的主页查看。

3、豌豆荚的 Redis 集群解决方案 Codis

Codis 是豌豆荚使用 Go 和 C 语言开发、以代理的方式实现的一个 Redis 分布式集群解决方案, 且完全兼容 Twemproxy。Twemproxy 对于上一层的应用来说, 连接 Codis Proxy(Redis 代理服务)和连接原生的 Redis 服务器没有明显的区别, 上一层应用能够像使用单机的 Redis 一样对待。Codis 底层会处理请求的转发、不停机的数据迁移等工作, 所有底层的一切处理, 对于客户端来说是透明的。总之,可以简单的认为后台连接的是一个内存无限大的 Redis 服务。Codis 遵循 MIT 开源协议发布,更多关于 Codis 的信息请登录其在 GitHub 的主页查看。

另外,还有一些未开源的解决方案,比如新浪、百度、淘宝、腾讯等的 Redis 集群方案。在 Redis 官方正式推出可用于生产环境的集群方案前,以上三种方案是非常值得考虑在生产环境使用的方案。


感谢崔康对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-11-13 06:5827813
用户头像

发布了 92 篇内容, 共 51.7 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

低代码与数字经济深度耦合:技术范式迭代下的企业数字化转型新路径

不在线第一只蜗牛

AI 低代码 数字经济

深入研究:淘宝天猫商品详情接口详解

tbapi

淘宝API 天猫商品详情接口 天猫API 淘宝详情接口

YashanDB与机器学习的结合:提升数据利用率

数据库砖家

YashanDB如何支持大型企业的多环境切换需求?

数据库砖家

YashanDB与容器技术结合,构建现代云原生数据库

数据库砖家

YashanDB与人工智能结合提升数据库智能化水平

数据库砖家

YashanDB与区块链结合的可能性与未来前景

数据库砖家

常见的数据处理方法有哪些?ETL中的数据处理怎么完成

谷云科技RestCloud

MySQL 数据库 数据处理 ETL 数据集成工具

智能手表地图新体验,RTOS系统助力全球行

高德开放平台

AI 地图 智能手表 高德

英特尔代工:协同生态建设,铸就客户信任

E科讯

YashanDB与数据仓库的整合:如何实现数据集中管理?

数据库砖家

YashanDB与传统ETL工具的集成与应用

数据库砖家

抄作业!JNPF靠“拖拽”通吃7大行业?

秃头小帅oi

大数据-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL

武子康

大数据 hadoop mapreduce hive

AI 应用开发(一):TRAE 下自定义 MCP Server

北桥苏

MCP AI应用开发

YashanDB与机器学习结合的未来发展趋势

数据库砖家

YashanDB实时监控与响应机制解析

数据库砖家

YashanDB如何提升企业对数据的实时监控能力

数据库砖家

鸿蒙5开发宝藏案例分享---跨线程性能优化指南

莓创技术

淘宝天猫拍立淘图片搜索商品接口(附代码示例)

tbapi

淘宝API 淘宝图片搜索接口 淘宝拍立淘接口 天猫图片搜索接口 天猫拍立淘接口

YashanDB与云服务的高效协同运作

数据库砖家

YashanDB优化技巧:提升数据库应用性能的实战经验

数据库砖家

深入研究:淘宝天猫关键词搜索接口详解

tbapi

淘宝API 天猫API 关键词搜索淘宝接口 淘宝商品列表接口 天猫商品列表接口

YashanDB与人工智能应用的结合前景

数据库砖家

YashanDB如何优化数据查询的性能?

数据库砖家

鸿蒙5开发宝藏案例分享---Web加载时延优化解析

莓创技术

颠覆传统!飞算 JavaAI 如何让程序员告别 “996 地狱”?

飞算JavaAI开发助手

万元好礼等你拿!飞算 JavaAI 炫技赛喊你当 “甲方爸爸”

飞算JavaAI开发助手

618 懒猫微服私有云大促

玄兴梦影

NAS 懒猫微服

无需公网IP,轻松实现ComfyUI远程访问

贝锐

内网穿透 ComfyUI

深入研究:淘宝天猫商品评论接口详解

tbapi

淘宝商品评论接口 天猫商品评论接口 淘宝API 淘宝评论API 天猫评论API

高可用、开源的Redis缓存集群方案_语言 & 开发_李士窑_InfoQ精选文章