写点什么

构建高可用的缓存集群的开源解决方案

  • 2014-10-27
  • 本文字数:1032 字

    阅读完需:约 3 分钟

很多应用都通过使用缓存来避免所有的请求都查询数据库,以加快系统的响应速度, Memcached 是常用的缓存服务器(现在比较流行的还有 Redis ),它一个高性能的分布式内存对象缓存系统,旨在通过缓存数据库查询结果,减少数据库的访问次数。但是在运行多个 Memcached 服务器时,往往还需要考虑其它的问题,比如缓存一致性、缓存失效等,缓存一致性是指要保证多个 Memcached 服务器中数据的一致,缓存失效的后果相对来说比较严重,当在大并发访问的场景下,如果 Memcached 缓存失效,所有请求会在同一瞬间并发访问数据库,可能会导致数据库宕机。为了保证缓存系统的稳定和高可用,很多公司都研发了相应的系统。本文汇总了 Twitter、Facebook、Youtube 在缓存方面的解决方案,供读者参考。

  1. Twitter 的 Redis/Memcached 代理服务:Twemproxy
    Twemproxy 是一个使用 C 语言编写的 Redis 和 Memcache 代理服务器,通过引入一个代理层,将应用程序后端的多台 Redis 或 Memcached 实例进行统一管理,使应用程序只需要在 Twemproxy 上进行操作,而不用关心后面具体有多少个真实的 Redis 或 Memcached 实例。当某个节点宕掉时,Twemproxy 可以自动将它从集群中剔除,而当它恢复服务时,Twemproxy 也会自动连接。由于是代理,所以 Twemproxy 会有微小的性能损失。
  2. Facebook 的 Memcached 协议路由器:McRouter
    McRouter 是一个使用 C++(主要语言,使用了大量的 C++ 11 特性)开发的基于 Memcached 协议的路由器,它是 Facebook 和 Instagram 缓存架构的核心组件,在高峰时期可以处理近 50 亿请求。McRouter 中客户端可以共享连接池,这样能减少连接的数量。McRouter 可以根据 key 前缀把客户端分配到不同的 Memcached 池中,允许以主机、池或者集群为单位设置任何请求的速率的阀值, 同时也支持限制请求的速度以减缓请求的发送速度,以保障服务质量。
  3. Youtube 的 Mysql 中间件:Vitess
    缓存层存在的初衷是减少应用与数据库的交互,以提高响应时间,与其将缓存与数据库分离,不如直接将缓存嵌入数据库中。 Vitess 是 Youtube 的开源分布式 MySQL 工具集,主要使用 Go 语言编写,已经用于 Youtube 生产环境。Vitess 支持行级缓存,并与 Memcached 进行了集成,可以有效提高带主键查询的速率,查询只有在 Memcached 中查询不到时才会进入数据库查询,而当数据被修改或者数据库表结构发生变化时,缓存数据会被删除。

另外,还有一些未开源的解决方案,比如 Box 的 Tron。同时,InfoQ 也非常关注国内相关问题的解决方案,欢迎读者在评论中留言与我探讨。

2014-10-27 06:026834
用户头像

发布了 219 篇内容, 共 150.6 次阅读, 收获喜欢 195 次。

关注

评论

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

Netcore Cloud通过CMMI 3级评估

财见

体验下br恢复时候的断点续传功能

TiDB 社区干货传送门

高可用 可观测性 性能测评

Mobileye发布2025财年第三季度财报及业务概览

财见

Vista将对Nexthink进行多数股权投资

财见

开源能源管理系统:赋能能源转型的 “透明化” 工具

开源能源管理系统

开源 能源管理系统

20W 奖金!探索 Agent 新纪元

阿里巴巴云原生

阿里云 云原生 agent

倾听世界的声音:如何利用全球舆情优化多市场产品策略?

沃观Wovision

常用低代码开发平台有哪些,20款主流平台你都用过哪一款?

编程猫

即用导览小程序系统:全场景适配的高效数字化解决方案

微擎应用市场

霍尼韦尔公布2025年第三季度业绩并上调全年指导范围

财见

MyEMS:重塑能源管理格局的智能化利器

开源能源管理系统

开源 能源管理系统

淘宝API图片搜索 | 天猫商品图片识别 | 一键上传找相似商品

Datafox(数据狐)

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

e&在2025年第三季度继续保持强劲增长,合并营收增长29.2% ,达186亿迪拉姆

财见

软通动力2025年三季报 | 全栈智能激活软硬协同,营收净利双增彰显发展质效

财见

为什么别人用 DevPod 秒启 DeepSeek-OCR,你还在装环境?

阿里巴巴云原生

阿里云 AI 云原生 DeepSeek

TiDB 助力保险业首个全栈自主的核心保单系统成功投产

TiDB 社区干货传送门

保险 金融 数据库原理 精选案例

中国3850亿美元餐饮服务业逆势增长,下线城市和饮品创新驱动新增长

财见

开源赋能智慧能源管理:解析MyEMS的技术优势与实践价值

开源能源管理系统

开源 能源管理系统

区块链Web3 项目的开发周期

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

CTI华测检测全资收购南非Safety SA及Nosa China, 构建全球食安及HSEQ服务新格局

财见

双举并进,TÜV南德获授"中德智能制造技术创新中心"称号,工业安全AI白皮书同期发布

财见

InterDigital收购AI初创公司Deep Render

财见

全球业务拓展下的技术驱动力:中国出海企业到底需要一个怎样的数据库?

TiDB 社区干货传送门

技术趋势 出海 数据库原理

区块链Web3 项目的上线

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

霸屏小店小程序系统:全场景电商裂变解决方案

微擎应用市场

TiDB 企业版敏捷模式试用:政企实战场景体验

TiDB 社区干货传送门

社区活动 TEM 试用 平凯数据库敏捷模式

全球舆情监测的战略角色与应用

沃观Wovision

舆情监测 海外舆情监测 全球舆情监测 全球舆情

智源悟界·Emu3.5:开启多模态世界大模型新纪元

智源研究院

人工智能

低代码表单功能列表全解析:11 个核心操作 + 状态规则,管理表单不踩坑

引迈信息

从零搭建敏捷IT?中小企业数字化转型,为何选择国产超融合是条“捷径”

智驱前线

构建高可用的缓存集群的开源解决方案_DevOps & 平台工程_小盖_InfoQ精选文章