Redis集群控制层在Tumblr中有哪些应用?

分类:编程技术 时间:2024-02-20 15:24 浏览:0 评论:0
0
小编给大家分享一下Redis集群控制层在Tumblr中的应用。希望您读完本文后有所收获。我们一起来讨论一下吧!

Tumblr 是世界上最受欢迎的轻博客服务。最新统计数据显示,其用户基数已达2090万,超过了全球最大的博客服务WordPress。下面小编就来讲解一下Tumblr的Redis集群控制层有哪些应用? Tumblr的Redis集群控制层性能如何?

Tumblr的Redis集群控制层有哪些应用?

在Tumblr早期,它的通知系统是由MySQL+Memcached的传统架构。但由于通知系统的加法运算量巨大,MySQL负担很大,经常会超过InnoDBglobaltransactionmax(1024)。因此他们计划重建消息系统。首先,他们分析了应用特点消息系统的cs:

按时间排序

唯一性,每条消息都是唯一的

读写比例约为60%/30%

p>

每个用户都有一定数量的消息

数据按用户划分,每个用户只能读取自己的消息

Tumblr Redis集群控制层架构< /p>

基于以上应用特点,Tumblr 选择了 Redis 的 SortedSets 作为其数据存储。

他们的存储方法是:

每个用户都分配一个有序集,每个项目存储一个通知。

每个通知都使用时间戳作为分数。在sortedsets中排序

超过100条通知后执行trim操作

Tumblr的数据量:2300万个BLOG,每个BLOG有100条消息,每条消息正文约为160字节。

响应速度:每秒约7500个请求,每个请求的响应时间小于5ms。

考虑容灾和数据量可能快速增长的情况e、Tumblr 计划使用 preshard 来构建他们的 Redis 集群,因此他们开发了 Staircar(一个提供 HTTP 服务的 Redis 集群调度和管理组件)。下面是他们的通知系统架构图:

事实上,在开发Staircar之前,他们也研究过一些其他具有类似功能的产品,但没有一个能够满足他们的所有需求(或者功能太多杂项) 。

Tumblr 的 Redis 集群控制层性能如何?

Staircar 采用 C 语言编写,使用 libevent 作为网络驱动层,提供 JSON 格式的 RESTFul 接口。它的性能超出了 Tumblr 工程师的想象,峰值时的响应时间也是 5ms。下面,它的性能测试结果是每秒可以处理大约30,000个请求。

读完这篇文章,相信您对《Redis集群有哪些应用》有了一定的了解Tumblr中的“r控制层”。如果您想了解更多相关知识,请关注行业资讯频道,感谢您的阅读!

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > Redis集群控制层在Tumblr中有哪些应用?

用户评论