小编给大家分享一下Tumblr中Redis集群控制层有哪些应用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! Tumblr是世界上最流行的轻博客服务,其用户量在最近的一次统计中已经达到2
小编给大家分享一下Tumblr中Redis集群控制层有哪些应用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
Tumblr是世界上最流行的轻博客服务,其用户量在最近的一次统计中已经达到2090万,超过了全球最大的博客服务WordPress。下面编程网小编来讲解下Tumblr的Redis集群控制层有哪些应用?Tumblr的Redis集群控制层性能如何?
Tumblr的Redis集群控制层有哪些应用
在Tumblr初期,其通知系统是由Mysql+Memcached的传统架构组成,但是由于通知系统庞大的添加操作,导致mysql负担非常大,经常搞得InnoDBglobaltransactionmax(1024)都超出了。于是他们打算重新构建消息系统。首先他们分析了消息系统的应用特点:
按时间排序
唯一性,每一条消息都是唯一的
读写比大概是60%/30%
每个用户的消息条数一定
数据按用户划分,每个用户只能读自己的消息
Tumblr的Redis集群控制层架构
基于上面应用特点的考虑,Tumblr选择了Redis的sortedsets作为其数据存储。
他们的存储方式是:
给每个用户分配一个sortedsets,其中每一项保存一条通知
每条通知以时间戳为score在sortedsets中进行排序
超出100条通知后进行trim操作
Tumblr的数据量:2300万个BLOG,每个BLOG100条消息,每条消息体大概160bytes。
响应速度:大概每秒提供7,500次请求,每次请求的响应时间小于5ms。
考虑到容灾性及可能快速增长的数据量,Tumblr打算采用preshard的方式来架构他们的Redis集群,于是他们开发了Staircar(一个提供Http服务的Redis集群调度管理组件)。下面是他们的通知系统架构图:
实际上在开发Staircar前,他们考查了一些其它的类似功能的产品,但都不能满足他们所有需求(或者说闲杂功能过多)。
Tumblr的Redis集群控制层性能如何
Staircar由C语言写成,以libevent为网络驱动层,提供JSON格式的RESTFul接口,其性能超出了Tumblr工程师们的想象,其在最高峰时的响应时间也在5ms以下,其性能测试结果是大概能处理每秒30,000次左右的请求。
看完了这篇文章,相信你对“Tumblr中Redis集群控制层有哪些应用”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网数据库频道,感谢各位的阅读!
--结束END--
本文标题: Tumblr中Redis集群控制层有哪些应用
本文链接: https://lsjlt.com/news/55174.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0