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控制层”。如果您想了解更多相关知识,请关注行业资讯频道,感谢您的阅读!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > Redis集群控制层在Tumblr中有哪些应用?