欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    完全用nosql轻松打造千万级数据量的微博系统.ppt

    • 资源ID:65781715       资源大小:2.43MB        全文页数:10页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    完全用nosql轻松打造千万级数据量的微博系统.ppt

    完全用完全用nosqlnosql轻松打造千万级轻松打造千万级数据量的数据量的微博系统微博系统七夜七夜(李锦星李锦星)2010.12.17Your company sloganYour company slogan重要小提示重要小提示架构说明架构说明架构说明架构说明 本架构只是起着抛砖引玉的作用本架构只是起着抛砖引玉的作用,只介绍大概的架构只介绍大概的架构.本架构注重的是可以动本架构注重的是可以动态扩展集群种的服务器。关于图片附件态扩展集群种的服务器。关于图片附件,数据备份等架构数据备份等架构,今天不作介绍今天不作介绍.有兴趣的话可以找我讨论有兴趣的话可以找我讨论.已有类似本架构的微博系统已经在实际运用已有类似本架构的微博系统已经在实际运用IDID一致性的一致性的一致性的一致性的问题问题 通常通常IDID是由是由mysqlmysql自增来产生的自增来产生的.但是在分布式集群里这样的自增但是在分布式集群里这样的自增IDID就带来各就带来各个服务器之间的一致性的问题。在本架构中的唯一个服务器之间的一致性的问题。在本架构中的唯一IDID是由是由rdtsc+rdtsc+两位随机两位随机整数拼接而成的整数拼接而成的6464位整数位整数 唯一唯一IDIDKey GPS ServerKey GPS Server KGSKGS是本架构重要组成部分是本架构重要组成部分.GPS.GPS大家都知道是定位的意思大家都知道是定位的意思.发送一条数据的发送一条数据的IDID过去。过去。KGSKGS就会告诉你该就会告诉你该IDID所对应的数据存放在哪几台服务器上所对应的数据存放在哪几台服务器上.KGS.KGS是基是基于于TokyoCabinetTokyoCabinet存储存储,epoll,epoll 事件驱动的单进程事件驱动的单进程socketsocket serverserverYour company sloganYour company slogan 所使用的开源工具所使用的开源工具 LVS+LVS+NGINX+PHPNGINX+PHPNGINX+PHPNGINX+PHP1 1 MySQL+handlersocketMySQL+handlersocketMySQL+handlersocketMySQL+handlersocket2 2 RedisRedisRedisRedis、Tokyo Cabinet Tokyo Cabinet Tokyo Cabinet Tokyo Cabinet 3 3 zeromq(zeromq(消息队列消息队列消息队列消息队列)4 4Your company sloganYour company slogan整整体体的的架架构构图图架构架构图原图请见 架构.pngYour company sloganYour company slogan架构具体讲解架构具体讲解访问流程图访问流程图看了架构图,到处都是线,是不是觉的很乱,眼花缭乱的.不要着急,现在我要以流程图慢慢的引领大家看清楚这个框架Your company sloganYour company slogan名词解说名词解说Handler socketHandler socketHandler socketHandler socket大家刚才可能比较奇怪大家刚才可能比较奇怪,我的主题讲的是完全用我的主题讲的是完全用nosqlnosql打造微博系统打造微博系统,怎么会又出现怎么会又出现了了mysqlmysql了了?现在给大家介绍现在给大家介绍 Handler socketHandler socket。HS HS 是小日本写的一款是小日本写的一款mysqlmysql插件插件.HS.HS避开了避开了MySQLMySQL通讯协议通讯协议,直接读取直接读取MySQLMySQL引擎。在多核、大内存、引擎。在多核、大内存、InnoDB InnoDB引擎引擎环境环境,性能直超性能直超memcached.HSmemcached.HS能以能以Key-ValueKey-Value方式直接读写方式直接读写mysqlmysql引擎引擎ZeroMQZeroMQ ZMQZMQ是高性能的消息队列服务器是高性能的消息队列服务器.单纯的发简单的小文本消息和单纯的发简单的小文本消息和pythonpython的函数调用的函数调用一样快一样快.publish.publish操作是个很耗时的操作操作是个很耗时的操作.所以让所以让publishpublish集群从集群从ZMQZMQ取发布信息,取发布信息,在后台并行在后台并行publish,publish,大大的提高发布效率大大的提高发布效率.当当publishpublish速度跟不上的时候速度跟不上的时候,只要增只要增加加publishpublish服务器就行服务器就行.Key GPS ServerKey GPS Server 刚才简单的介绍过刚才简单的介绍过KGS,KGS,我再稍微深入一点介绍一下我再稍微深入一点介绍一下KGS.KGSKGS.KGS是用是用TCTC来做物理存储来做物理存储的的.把把KeyKey跟服务器的关系记录在跟服务器的关系记录在TCTC的的 hashdbhashdb里里.这样做到多个服务器备份存储、这样做到多个服务器备份存储、权重、最小存储量优先级等一系列操作权重、最小存储量优先级等一系列操作.Your company sloganYour company slogan数据分布结构数据分布结构RedisRedisRedisRedis主要存储的是发布者和订阅者之间的关系。关系结构主要是以队列主要存储的是发布者和订阅者之间的关系。关系结构主要是以队列+各种信各种信息的息的6464位唯一位唯一IDID组成组成,所以存储量是很小的所以存储量是很小的.虽然存储量很小虽然存储量很小,但是操作量很大但是操作量很大.所以放在所以放在redisredis上上,redis,redis以纯内存的方式运行以纯内存的方式运行,不启用不启用redisredis自身的热备份自身的热备份.在运在运行行RedisRedis服务器上,同时运行着服务器上,同时运行着backend backend 同步进程。同步进程。BackendBackend的用的用TCTC来存储的来存储的.在在信息发送给信息发送给RedisRedis的同时的同时,也发送给也发送给backendbackend进行存储进行存储.当当redisredis重启的时候重启的时候,从从backendbackend加载用户的结构关系加载用户的结构关系.Redis.Redis的集群方式是以水平方式切换的集群方式是以水平方式切换.简单来说就简单来说就是每台是每台RedisRedis服务器存储着各自服务器存储着各自5w5w用户量用户量.这个数值可以根据各自的情况定义这个数值可以根据各自的情况定义MySQLMySQL mysqlmysql存储的是实际信息内容存储的是实际信息内容,比如微博信息,和用户信息比如微博信息,和用户信息.把操作很密集的数据把操作很密集的数据,放在放在RedisRedis里里,相对小一点的就放在相对小一点的就放在mysqlmysql里里Your company sloganYour company sloganMySQLMySQL表结构表结构Your company sloganYour company sloganRedis listRedis list数据结构数据结构example4example4Redis 数据结构 list1.Following(有多少人订阅我的微博的列表)2.Followers(我订阅谁的微博的列表)3.Publish(我发布的微博消息列表)4.Subscribe(我订阅的消息包括我发布的信息)Your company sloganYour company slogan总结总结明星会员问题明星会员问题明星会员问题明星会员问题所谓的明星会员问题所谓的明星会员问题,就是刘德华来咱微博开了个微博。他有成千上万个订阅就是刘德华来咱微博开了个微博。他有成千上万个订阅者者.他发布一条微博消息。那得一下子发布到成千上万个订阅者那。多来他发布一条微博消息。那得一下子发布到成千上万个订阅者那。多来几个刘德华这样的明星微博几个刘德华这样的明星微博,咱们服务器不是要死翘翘了。所以我这里有咱们服务器不是要死翘翘了。所以我这里有个个publishpublish集群集群,根据订阅者分为活跃用户,一般用户,半死不活用户根据订阅者分为活跃用户,一般用户,半死不活用户.根根据活跃度分到不同的快速据活跃度分到不同的快速publishpublish服务器或慢速服务器或慢速publishpublish服务器里去服务器里去.因为因为是纯内存的只是在是纯内存的只是在redis listredis list里加个信息里加个信息IDID。还是很快的。还是很快的理解不了本架构理解不了本架构理解不了本架构理解不了本架构 对于本架构理解的同学对于本架构理解的同学,请先阅读一下请先阅读一下Retwis.RetwisRetwis.Retwis是完全用是完全用redisredis写的简写的简单微博系统单微博系统,再结合本架构,多看几次就懂了。很快的再结合本架构,多看几次就懂了。很快的集群集群集群集群 本架构讲究的是高可用本架构讲究的是高可用,稳定,可动态扩展的架构稳定,可动态扩展的架构.谢谢大家谢谢大家

    注意事项

    本文(完全用nosql轻松打造千万级数据量的微博系统.ppt)为本站会员(赵**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开