设为首页 收藏本站
查看: 934|回复: 0

[经验分享] redis list应用–大型网站缓冲队列服务器

[复制链接]
累计签到:8 天
连续签到:1 天
发表于 2015-7-23 10:30:05 | 显示全部楼层 |阅读模式
  1. 起因, 随着twitter sina微博,腾讯微博的开放平台相继推出, 大部分和互联网相关的公司又多了一个营销的手段:信息同步。也即是用户把自己的新浪微博账号或者腾讯微博账号和你的网站关联起来了,用户在你的网站产生的 任何信息都可以同步发送到sina微博,qq微博上去(前提是经过用户的允许,这样用户既可以不需要同样的信息复制到多个网站, 又可以相应的推广你的网站的入口曝光率)。目前同步比较好的例子是:微博通,街旁,切客等。
  2. 为什么要用缓冲队列服务,我们举个例子。如果你做了一个网站,用户在你的网站上关联了sina微博,QQ微博,开心网,人人网, 豆瓣,twitter, facebook(可能还要在国外设置代理)等等第三方平台,用户产生了一个动作后(比如发了一条心情状态),你的网站要同时同步到这些网站去,每个第三 方平台都要经过多次外网http请求,所有的这些请求加起来是可能是很长的时间(几秒, 甚至几十秒),这对于前段用户肯定肯定是无法忍受的。所以这个时候同步信息的话必须采取异步的方式,也就是用户在你的网站发表一个状态服务端只是把这条状 体对应的信息存储起来, 然后就提示用户发表成功, 具体的信息同步是后端以脚本的方式异步运行的。用户通俗的话来说就是用户先发表后同步,由于校本执行速度很快, 用户几乎感觉不出来同步的时间差。你也许会问我怎么知道哪些信息要同步到第三方平台去呢,这也就是使用redis使用缓冲队列服务器的原因,当用户发表信 息后,我们同事把信息写入缓冲队列服务器,后台脚本会不停的去检查缓冲队列服务器是否有数据,如果有数据则取出发送到第三方开放平台。
  3. 系统扩展性
a). 如果脚本处理过慢,可能造成缓冲队列拥堵,我们可能通过扩展后台脚本个数来加快同步到第三方平台的处理速度。
b). 如果需要同步的信息量过大, 造成写入队列的并发数极大,肯能通过扩展队列服务来达到分散减压的目的(基本不会出现)。
  4. 效率如何 假设你的网站每天产生100W条信息 需要同步到第三方平台。
redis官方测试数据(SET操作每秒钟 110000 次,GET操作每秒钟 81000 次)。
一个脚本每天的同步量, 86400/2 = 43200, (假设平均每同步一条信息花费时间为2s,) 一个脚本每天大概可以同步4W条数据。
平均每秒同步的数据 100W/86400 < 12个 高峰时期扩大十倍也就是每秒 120条信息。由此可见每天100W 甚至 1000W的信息同步量对redis来说都是没有任何压力的。
我们只需要加快脚本处理的速度即可, 100W数据只需要同事25个脚本负责同步即可,(数据量增加了,扩展起来非常方面)。
  总结,此方式已经应用于国内某LBS社区,每天的PV大概300W,产生的信息同步量每天大概2W左右。当前是2个脚本负责同步相关操作,队列里面基本没有任何拥堵信息。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-89755-1-1.html 上篇帖子: Redis 是什么,了解一下 下篇帖子: 利用redis的订阅和发布来实现实时监控的一个DEMO(Python版本)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表