运用经验:新浪微博和Pinterest以及Viacom对Redis数据库
2020-12-31 09:15:03 阅读(230) 评论(0)
新浪微博:历史上最大的Redis集群TapeisDead,DiskisTape,FlashisDisk,RAMLocalityisKing.—Jimgrayredis不是成熟的memcache或mysql的替代品,是大型互联网应用架构的良好补充。现在基于Redis进行架构改造的应用越来越多。首先简单公布Redis平台的实际情况:2200 亿commands/day5000亿Read/day500亿Write/day18TBT Memory500 Serversin6IDC20000 instances应该是国内外比较大的Redis使用平台,今天主要从应用的角度来谈Redis服务平台。使用Redis场景1.Counting(计数)计数的应用在另一篇文章中有详细的描述,计数场景优化http://www.xdata.me/?p=这里就不多描述262了。可以预见,很多学生认为把所有的计数都存储在内存中是非常昂贵的。我在这里用一张图表来表达我的观点:在很多情况下,每个人都会想象纯内存使用方案的成本会很高,但实际情况往往会有所不同:COST,对于有一定吞吐需求的应用程序,DB肯定会单独申请、Cache资源,许多担心DB写入性能的学生也会主动将DB更新记录在异步队列中,而这三部分的资源利用率一般不会太高。算下资源,你会惊讶地发现,纯内存的解决方案会更简洁!当你计算资源时,你会惊讶地发现纯内存的解决方案会更简洁!KISS原则对开发非常友好。我只需要建立一个连接池,不用担心数据一致性的维护和异步队列的维护。Cache穿透风险,如果后端使用DB,肯定不会提供很高的吞吐能力,如果Cache停机处理不当,那就是悲剧。大多数初始存储需求,容量小。2.Reversecache面对微博上经常出现的热点,比如最近流行的短链,成千上万的人在短时间内点击跳转,这里经常会出现一些需求,比如我们在快速跳转时判断用户级别,是否有一些账户绑定,性别爱好,已经向他们展示了不同的内容或信息。memcacachee通常使用 Mysql的解决方案,当调用id合法时,可以支撑更大的吞吐量。但是,当调用id无法控制,更多的垃圾用户调用id时,由于memcache没有命中,会大量穿透mysql服务器,瞬间导致连接数疯狂增长,整体吞吐量减少,响应时间减慢。在这里,我们可以用redis记录所有用户判断信息,如stringkeyy:uidint:type,做一个反向cache,当用户在redis中快速获取自己的等级信息时,再去Mcche Mysql层获取全量信息。如图所示:当然,这也不是最优化的场景,比如用Redis做blomfilter,可能会节省更多的内存。3.top10list产品运营总会让您展示最近、最热、点击率最高、活动度最高等条件的toplist。如果使用MC,许多更新更频繁的列表 如果MySQL进行维护,缓存更容易失效,鉴于内存占用较小,使用Redis作为存储也是相当不错的。4.Lastindex用户最近的访问记录也是redislist的好应用场景。lpushlpop自动过期的旧登录记录对开发非常友好。5.RelationList/MessageQueue在这里把两个功能放在最后,因为这两个功能在实际问题上遇到了一些困难,但在某个阶段确实解决了我们的许多问题,所以这里只解释一下。MessageQueue是通过listlpop和lpush接口编写和消耗队列,因为它的性能也可以解决大多数问题。6.FasttransactionwithluaredisLua的功能扩展实际上给Redis带来了更多的应用场景。您可以编写一些command组合作为小型非阻塞事务或更新逻辑,例如:当您收到message推送时,同时,1.给自己增加一个未读对话2。给自己的私信增加一个未读信息3。最后,给发送人一张完成推送信息的收据,这个逻辑可以在Redisserver端完全实现。但需要注意的是,Redis会在aof中记录luascript的所有内容,并将其传输给slave,这对磁盘和网卡来说也是一笔不小的开支。但需要注意的是,Redis会在aof中记录luascript的所有内容,并将其传输给slave,这对磁盘和网卡来说也是一笔不小的开支。7.Insteadofmemcache的许多测试和应用都证明,Redis在性能上并不落后于Memcache,而单线程模型给Redis带来了很强的可扩展性。在许多情况下,Redis对同一数据的内存费用小于memcache的slab分配。Redis提供的数据同步功能实际上是对cache的强大功能扩展。Redis使用的重点1.rdb/aofBackup!超过95%的在线Redis承担后端存储功能。我们不仅将其用作cache,还将其用作k-v存储。它完全取代了后端存储服务(MySQL),因此,数据非常重要。如果出现数据污染和丢失、误操作等情况,将难以恢复。所以备份是非常必要的!为此,我们有共享的hdfs资源作为我们的备份池,希望能够随时还原业务所需的数据。2.Smallitem&Smallinstance!由于Redis单线程模型(严格意义上不是单线程,但认为Request的处理是单线程),大数据结构list,sortedset,hashset的批量处理意味着等待其他请求,因此使用redis的复杂数据结构必须控制其单key-struct的大小。此外,Redis单实例的内存容量也应受到严格限制。单实例内存容量大后,直接带来的问题是故障恢复或Rebuild从库中需要很长时间。更糟糕的是,Redisrewriteaof和Saverdb将带来非常大和长的系统压力,并占用额外的内存,这可能导致严重影响性能的在线故障,如系统内存不足。在线96G/128G内存服务器不建议单实例容量大于20/30G。3.BeenAvailable!Redissentinel(哨兵)更多地用于行业信息和使用http://www.huangz.me/en/latest/storage/redis_code_analysis/sentinel.htmlhttp://qiita.com/wellflat/items/8935016fde25d486d92000行C实现服务器状态检测,自动故障转移等功能。但由于自己的实际结构往往比较复杂,或者考虑的角度比较多,所以@徐琦eryk和我一起做了hypnos项目。然而,由于他们自己的实际结构往往很复杂,或者从更多的角度考虑,@徐琦和我一起做了hypnos项目。hypnos是神话中的睡眠,字面意思是我们的工程师不需要在休息时间处理任何故障。:-)其工作原理如下:Talkischeap,showmeyourcode!稍后将单独写一篇博客详细介绍Hypnos的实现情况。4.InMemoryornot?在沟通后端资源设计时,我们经常忽视对真实用户的评价,因为我们习惯于使用和错误地理解产品定位。也许这是一个历史数据,只有最近一天的数据被访问,把历史数据的容量和最近一天的请求留给内存存储是非常不合理的。因此,当您使用什么样的数据结构存储时,请务必先衡量成本。内存中需要存储多少数据?对用户真正有意义的数据有多少?因为这其实对后端资源的设计非常重要,1G的数据容量和1T的数据容量在设计理念上是完全不同的。1.slavesync改造所有在线master-slave数据同步机制,借鉴了mysqreplication的思路,利用rdbber-slave数据同步机制 aof 作为数据同步的基础,pos简要说明了为什么官方提供的psync不能很好地满足我们的需求:假设有两个来自库B和C,以及A`—B&C,此时,我们发现mastera服务器存在停机隐患,需要重启或A节点直接停机,如果A、B、C不共享rdb和aof信息,C在从库作为B时仍会清除自己的数据,因为C节点只记录与A节点的同步。因此,我们需要有一种方法可以让AA`–B&C结构切换换为A`–B`–虽然psync支持断点续传,但仍不能支持master故障的平滑切换。事实上,我们在定制的Redis计数服务中使用了上述功能的同步,效果非常好,解决了操作和维护的负担,但我们仍然需要推广到所有的Redis服务,如果可能的话,我们也会向官方Redis提出相关的Syncslave改进。2.更适合redisname-systemorproxy的学生发现,除了使用DNS作为命名系统外,我们还记录了zookeper。为什么不让用户直接访问系统,zk或DNS选择其中一个?事实上,这仍然很简单。命名系统是一个非常重要的组成部分,dns是一个相对完善的命名系统。我们做了很多改进和试错。zk的实现仍然相对复杂,我们没有强大的粒度控制。事实上,这仍然很简单。命名系统是一个非常重要的组成部分,dns是一个相对完善的命名系统。我们做了很多改进和试错。zk的实现仍然相对复杂,我们没有强大的粒度控制。我们也在思考什么样的命名系统更符合我们的需要。3.使用后端数据存储大内存必须是成本优化的重要方向,flash磁盘和分布式存储也在我们未来的计划中。二、Pinterest:Pinterest已经成为硅谷最疯狂的故事之一。2012年,基于PC的业务增加了1047%,移动终端增加了1698%。今年3月,其独立访问量飙升至533亿。在Pinterest中,人们关注的是100亿件事——每个用户界面都会查询board或用户是否关注的行为,这导致了极其复杂的工程问题。这也让Redis得到了用武之地。经过多年的发展,Pinterest已成为媒体、社交网络等领域的领导者,其辉煌成就如下:推荐流量高于谷歌 、YouTube和Linkedin的总和与Facebook和Twitter一起成为最受欢迎的三大社交网络参考Pinterest购买的用户比其他网站更高,Pinterest的高规模基于其独立访问量,促成了对IT基础设施的高需求。最近,Pinterest工程经理Abhikhune通过缓存优化了用户体验,分享了公司的用户体验需求和Redis的使用经验。即使是繁殖的应用程序创建者在分析网站的细节之前也不会理解这些特征,所以首先对使用场景有一个大致的了解:首先,对每个粉丝提到的预检查;其次,UI将准确显示用户的粉丝和关注列表页面。即使是繁殖的应用程序创建者在分析网站的细节之前也不会理解这些特征,所以首先对使用场景有一个大致的了解:首先,对每个粉丝提到的预检查;其次,UI将准确显示用户的粉丝和关注列表页面。为了有效地执行这些操作,每次点击都需要一个非常高的性能架构。Pinterest的软件工程师和架构师使用了MySQL和Memcache,但缓存解决方案仍然达到瓶颈;因此,缓存必须扩展,以获得更好的用户体验。在实际操作过程中,工程团队发现缓存只有在用户sub-graph已经在缓存中工作时才能工作。因此。任何使用该系统的人都需要缓存,这导致了整个图片的缓存。与此同时,最常见的问题是“用户A是否关注用户B”的答案往往是否定的,但它被用作缓存丢失,以促进数据库查询,因此他们需要一种新的方法来扩展缓存。最终,他们的团队决定使用Redis来存储整个图表,以便为许多列表提供服务。2.使用Redis存储大量Pinterest列表Pinterest使用Redis作为解决方案,并将性能推到内存数据库级别,为用户保存多种类型的列表:关注者列表你关注的board列表粉丝列表关注你的board用户列表你没有关注的board列表每个board关注者和非关注者Redis为7000万用户存储了以上所有列表,本质上可以说是通过用户ID存储了所有的粉丝图片。鉴于您可以通过类型查看上述列表的数据,分析系统的存储和访问,这些系统看起来更像是事务。鉴于您可以通过类型查看上述列表的数据,并分析系统存储和访问看起来更像事务的概要信息。Pinterest目前的用户列表仅限于10万,初步统计:如果每个用户关注25个board,用户和board之间将有17.5亿的关系。更重要的是,随着系统的使用,这些关系每天都在增加。3.Pinterest的Reids架构和运营通过Pinterest的一位创始人了解到,Pinterest开始使用Python和定制的Django编写应用程序,直到它拥有1800万用户的410TB用户数据。虽然数据存储使用多个存储,但工程师根据用户ID使用8192个虚拟分片,每个分片都在运行
推荐阅读
- 哪个网站有免费下载的模板
哪些网站可以不花钱就能下载工作用的各种模板?1.officeplus这个网站是微软官方的模板网站,有大量工作汇报、总结计划类型PPT模板2.wps稻壳有大量免费的精品模板,表格类、文档类、ppt类都有涉及到,分了行业的,基本可以满足工作需要…查看详情
- 如何建立自己的网站?有哪些好用的建站工具?
互联网的应用与延展在当今的社会生活实践中无处不见,它与每个人的生活已经密不可分。对于想要建站的人来说,应该如何建立自己的网站呢?了解好建站步骤并学会使用相应的工具,其实建立自己的网站也并不难。 要知道“如何建立自己的网站”,就要先知道搭建个…查看详情
- 视频制作软件哪个好?为大家推荐这几款
很多朋友想要在短视频平台中,发表富有个性化的视频内容,但是却不知道该如何操作,其实在这个信息爆炸的时代,早已有各种各样功能强大的软件,为大家提供视频制作的帮助,那么视频制作软件哪个好呢?为大家推荐以下这几款,不妨试一试吧。 …查看详情
- 港剧排行榜前十名都有哪些?这些港剧就很不错
追剧是很多人都比较喜欢的,其实每一个不同类型的电视剧带给用户的体验也是不同的,很多人都比较喜欢港剧港剧带来的感觉不同,而且剧情也都是非常不错的,但是不同的港剧也有着不同的感觉,所以说很多人在选择港剧的时候都想要选择一些比较好的经…查看详情
- 网站建设平台有哪些?
网站建设平台是指一个提供网站建设服务的在线工具,它可以帮助用户快速、简便地创建自己的网站。这种类型的平台通常是基于云计算技术的,用户可以在云端访问到各种网站开发工具,从而轻松地创建自己的网站。 网站建设平台通常具有以下特点: 1. …查看详情
- 两千左右的手机有哪些 两千左右的手机排行榜
买手机我们也是根据自己的要求去购买的,每个人对于手机的定价不相同所接受的价格也不一样,所以一般会根据自己能接受的价格范围去选择对应的手机类型,那么如果想要用两千买手机的话就要了解一下,两千左右的手机排行榜都有哪些,从排行榜中挑选…查看详情
- 专利权无效宣告审查什么内容?
在平时很多的小伙伴都不知道专利权无效宣告审查什么内容的基本情况,而且对专利权无效宣告审查什么内容都不是很熟悉,下面万商云集小编就为大家整理了专利权无效宣告审查什么内容这方面的相关内容,希望下面的内容能帮助到各位。 一、专利权无效宣…查看详情
- 2022免费交友软件有哪些 免费交友软件排行榜
现在年轻人社交的软件是非常的多的,而且现在也有很多的聊天交友软件,下面小编就给大家来详细介绍一下2022免费交友软件有哪些 免费交友软件排行榜这一块的相关内容,希望能帮助到大家。免费交友软件排行榜 1.陌陌 作为陌生社交的龙头老大…查看详情
- 支付宝体验金有什么用 支付宝体验金的作用
可以让新用户体验一下余额宝,能切身体验到余额宝每天能带来多少收益,吸引用户往余额宝里存钱,以获得更多的收益。用户开通了余额宝后,体验金不能消费与提现,到期后支付宝会自动收回,但是在体验期间体验金所产生的收益是归用户的。下面万商云集小编给…查看详情
- 国内知名企业纷纷申请中文域名,已是大势所趋
在英文域名资源日益枯竭的情况下,中文域名在国内开始崛起。从网络安全角度来看,单一的英文注域名很容易被钓鱼网站山寨。回归国内域名圈,我们能惊奇地发现,不少企业已经开始着手注册自由品牌的中文域名,比如“网址”、“集团”、“公司”、“手机”等,中…查看详情
- 零申报的公司要做哪些事情
公司零申报怎么做? 公司财务报表零申报的方法: 1、零申报只要在利润表(损益表)的主营业务收入填为0就可以了,其他数与零申报无关。无收入,就是0申报,但是负债表,和损益表都要填的,如果有费用发生,就都进长期待摊费用-开办费.以后发生…查看详情
- 五款简单好用的舆情监测系统免费
随着社会的发展,科技的进步,舆情监测系统也在不断的发展中,但是好用而且免费的舆情监测系统却是少之又少,针对此需求,小万为大家总结了五款简单好用的舆情监测系统免费版本。 1、哨兵舆情监测系统 哨兵舆情监测系统免费版是一款包含了监测功能、网…查看详情
- 财务软件哪个好 好用的财务软件推荐
现在深受疫情的影响很多的小伙伴都开始使用财务软件来给自己记账,看一下平时的日常开支,下面万商云集小编给大家来详细介绍一下财务软件哪个好 好用的财务软件推荐这一块的内容,不知道下面的软件大家使用过没有。 一、钱迹 钱迹和其他的记账AP…查看详情
- 免费建站系统哪个好 好用免费的建站系统推荐
对于中小企业或者个人,不想做网络宣传营销,首先考虑的是建立一个网站,但是奈何考虑成本,不妨自主建站,利用网络的现成工具,下面万商云集小编给大家来介绍一下免费建站系统哪个好 好用免费的建站系统推荐这方面的内容,希望能帮助到大家解决建站的相…查看详情
- 键盘打不出字怎么回事?可能是这些原因
长期使用电脑的朋友很可能会遇到一些问题,其中电脑键盘失灵是最常见的,键盘是易损电脑产品,长期使用电脑,键盘很容易出现问题,键盘失灵后有的字打不出来,下面小编就给大家来盘点一下键盘打不出字怎么回事这一块的内容,希望能帮助到大家。 键盘打…查看详情
猜你喜欢
最新文章

扫码二维码
立即领取《千元实战营销秘籍》
还可免费试用营销管理系统
*如有疑问,请随时拨打免费咨询热线:400-0033-166
服务时间:8:30-18:00
软件企业
认定号:川RQ-2018-0216
高新技术企业
认定号:GR201951001121

关注微信公众号
和10万中小企业共同成长

扫码下载APP
享全方位服务一触即达
Copyright © 2004-2022 万商云集(成都)科技股份有限公司 版权所有
蜀ICP备12001963号-2
川公网安备 51010402000322号

快速找产品
找一找哪款产品适合您?
咨询热线:400-0033-166
-


-
电话沟通
在线咨询
获取方案
下载APP
官方微信
扫码下载APP
全方位服务一触即达
关注万商云集
和10万中小企共成长
TOP

企业首选的数字选用平台






