童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

Facebook技术总监:如何管理10亿用户的数据?

9月17日 桃花醉投稿
  腾讯科技讯(迭影)北京时间1月28日消息,Facebook用户数量,已经突破10亿大关。Facebook在发展期间,所实现的技术成就,成为了IT行业工程师关注的话题。究竟Facebook取得了哪些技术成就呢?Facebook前工程部门总监,在问答网站Quora上,对这一问题作出回答。无论对于IT行业的投资者还是使用者,这些回答都有着指导意义。
  以下是文章全文:
  我在Facebook的基础架构软件开发团队,工作了5年,并且参与了多数项目的开发。我认为在Facebook时,最伟大的成就是MemcacheMySQL集群。一年前,我离开Facebook的时候,这个集群中已经拥有超过1万亿对象(没错是万亿),每秒请求数量超过10亿,处理时间通常不超过1毫秒。这一集群,在多个数据中心之间,保持了良好的一致性,并且很少出现停机的情况。
  实际上,我们取得的真正成就,与Memcache和MySQL并没有多大的关系随着时间的推移,这些都将会被新的“技术”所取代,但是这里真正重要的技术,是让数量如此庞大的机器,快速、可靠的协同工作。这并不同于通常意义上,人们在询问“你用的是什么样的技术?”时,所指代的东西,但是这一方面确实会出现很多有趣的创新。
  这包括算法方面的技巧,如分片(Shard)、分区(Partition)、缓存数据,以及保持分布式数据的一致等。虽然像“部署和监控”这样的事情,听上去似乎有些很普通,但是当一切到了Facebook这样大的规模,就变的不再简单。
  以下是我们面临的一些具体的挑战:
  1。数据中心间的一致性
  Facebook是一个实时的应用程序,这也就意味着,无论世界哪一个角落的数据发生改变,都需要立即显示到所有其他的地方。因此这对一致性有着令人惊讶的高要求。
  常常有人说,“哦,Facebook只是一个让人觉得挺有趣的社交网站,一致性并没有那么重要。”但是如果信息出现的时间顺序有问题,或者有的消息会凭空消失,那么这些情况就很容易惹恼用户。以下是我们在2007年,创建首个地理分布数据中心时的老博客:《ScalingOutFacebook》
  现在回头看,虽然这个方案听起来有些严格,但是它真的很有用,而且帮助让我们达到了现在这个巨大得规模。而现在的设置显然已经变得更为复杂。
  2。网络流
  Facebook的页面,需要很多小块的数据,而这些往往并不容易聚集。所以我们经常看到的一个模式,是一台服务器,会从大量其他的服务器处,要求大量小的对象。而这里的问题在于,如果所有的服务器都在同时进行回复,你就会通过请求服务器的rackswitch和网络适配器(NIC)突然获得大量的数据包,然后就会有数据包被丢弃。这就是学术文献中所谓的“TCPincast”,而我们解决这个的方法,是对机器上发送的请求进行截流。
  而当故障(failure)出现的时候,网络问题往往会变得更加糟糕。大多数软件在没有从另一个服务器获得回应时,都会重新发送另外一个数据包。不幸的是,大多数时候,没有获得回复的原因,恰恰是另外一个服务器已经过载。因此,当一个服务器过载严重,而无法作出及时回复时由于大量请求会重新发送,它的数据流量会瞬时增长一倍。
  我们投入了大量的时间用于算法研究,并希望无缝处理“重试”(retry)可以解决的小问题,但是也需要确保不会在出现大故障的时候失去控制,因为那时候重试只会让事情变得更糟。
  3。高速缓存配置
  这里有很多东西需要平衡如果你有大的对象,你希望通过机器进行传递开,这样你就可以进行并行处理;但是如果是小的对象,你则希望它们可以同时出现,这样在RPC调用会给你带来多个对象。而Facebook需要的往往是后者,因此我们在改善“每RPC对象数量”方面,使用了很多的技巧。
  很多情况都需要分离不同工作负载的对象,进行不同的调整。我们还花了大量的的时间,搞清楚是什么内存之中最具有成本效益的东西,以及何时非规范化能有用(实践中的大多数时候,非规范化并没有什么实质性的帮助)。
  4。失败处理
  正如前面网络部分所提到的,有的时候一些方法能够解决小问题,但往往会让大问题变得更糟。例如,我有一个算法,给随机服务器发送请求,如果它没有得到答复,就会把请求重新发送到另一个不同的随机服务器上,直到它得到一个答复才会停止。如果你只有一两个机器出现问题的时候,这种方法显然会表现很好。但是如果你一半的机器都出现问题,那么就成了一场灾难。
  这时,所有其他的机器的负荷都会突然加倍,而如果一半的机器都出现问题,很有可能意味着有着负载已经过高。这时候,你需要做的事情,是检测过载情况,并且减少负载。重要的是,要记住计算机科学意义上的实时系统,意味着:一个迟到的回应,就是一个错误的回应。
  放弃一个请求的时候,人们往往会感觉不好,不过这往往是最好的处理方式在出现问题的时候,最大化正确答案的数量才是最正确的。
  另一种常见的模式是,当有些东西变慢的时候,就建立一个较大的队列(queue),然后让所有事情慢下来,减少负载。这可以是一个很棘手的算法,因为你可能在正常操作中也需要一个深队列,来处理瞬间突发流量。
  5。提升Memcache和MySQL
  我们讨论到数据库缓存集群的时候,人们总会想到Memecache和MySQL。我们在Memcache方面做了大量的工作,以提升吞吐量大量的分析和解决方法,这大多数都是在网络栈中。因此很多这样的工作,实际上是在Linux内核中发生的。
投诉 评论

【人人晚报】29期:李彦宏和周鸿祎都不爽雷军为什么?【导读】雷军到底是做了什么呢?周鸿祎和李彦宏都不爽他,难道是雷军做了很多人神共愤的事情?不然怎么可以这样让他们不爽呢?你们想知道他们有什么愁什么怨嘛?来小编带你们来看下。……傅盛:当莫博士和我聊起他的朋友们东东导读:这是猎豹移动CEO傅盛见到了这位美国最富盛名的科技媒体人之一沃尔特莫斯伯格(WaltMossberg)后写的记录文章,文章风格朴实,慢慢品尝受益满满。多年以前,……百度还会多爱爱乐活?一年多以前,百度对外宣布正式拆分爱乐活。爱乐活的前身是百度电商部门“有啊”。重造“有啊”来自于李彦宏对中间页平台的思考:不能售卖的流量在中间页平台上可以换一种变现方式;已经售卖……这是投机思维,李彦宏为何不爽“风口与猪”?导读:从2000年回国,这15年来时时都处在风口中,吹得我难受,各种各样的机会。让我焦虑的是什么能够不做,而不是还有哪些可以做。09年至今,IT领袖峰会已经进入第6个年头……Facebook技术总监:如何管理10亿用户的数据?腾讯科技讯(迭影)北京时间1月28日消息,Facebook用户数量,已经突破10亿大关。Facebook在发展期间,所实现的技术成就,成为了IT行业工程师关注的话题。……电商四大巨头核心竞争力对比分析淘宝系:生态“打造开放的生态系统”一直是马云在电商行业排兵布阵的主要战略。早在2008年,“大淘宝战略”的提出就进一步明确了淘宝系的定位是电商开放平台、打造大淘宝生态系统……《移动浪潮》:移动智能技术如何改变世界《移动浪潮》:移动智能技术如何改变世界(腾讯科技配图)移动技术是计算机技术的第五次浪潮,它正在改变着软件的本质。如果,曾经的软件是“固态”的,因为你只能在桌边使用。……初创企业成功原则:保持简单和直接为什么有的初创企业能够一飞冲天,而有的却步履蹒跚甚至一落千丈?不去逐个进行分析,深入探究各自的细节是无法找到答案的。从融资到时机、从经验到执行,竞争格局乃至于运气,影响到成功的……大数据时代“眼睛”无处不在,想保护个人信息?难!移动互联网让网络变得无处不在,也在每个人背后增加了许多窥视的眼睛。用户的身份、位置、银行账号所有这些敏感信息都可以被各形各色的采集者获取,而且大多是合法的。合法获取与滥用、泄漏……最佳雇主是怎样炼成的解读谷歌员工数据追踪计划在布克的领导下,谷歌人力资源部门的运作方式更像是严格的科学实验室,而不是大多数人所想象的“门厅监控者”。其核心是一项复杂的员工数据追踪计划,此举是为了对谷歌员工生活的每个方面都……深度解析:互联网装修,正在等风来。。互联网装修是在“互联网”的大背景下,借助互联网工具和互联网思维,通过去中介化、去渠道化及标准化,优化并整合装修产业链,颠覆传统装修的用户体验,让装修变得简单、透明、精致,性价比……【人人晚报】28期:BAT财报比一比,谁最牛【导读】BAT终于全部发布完自己2014的年度财报啦,那么他们的财报到底如何呢?那家公司赚的多,那家公司赚的少呢?今天小编就带你们来一起分析分析。【正文】1。……
诺基亚G505G在发布前泄露消息上个月,HMDGlobal即将推出的诺基亚G505G在英国几家零售商的上市名单中发布,现在,由于诺基亚移动法国官方Instagram账户的新泄露,我们有了一个真实的外观。正如N……三星GalaxyA52s5G海报即将在印度亮相上周,三星GalaxyA52s5G作为Snapdragon778G的升级版在原A525G的基础上发布。它的第一个上市市场是英国,但三星也向印度商店发送了促销海报,这意味着这款新……小米11Lite5GNE曝光:搭载骁龙778G处理器8月25日消息,开发者kacskrz发现了小米一款神秘新机,代号为Lisa”,搭载高通骁龙778G处理器。kacskrz发现,小米11Lite5GNE的型号为210911……无需额外成本新5G算法能够兼具mmWave和Sub6GHz的目前5G网络存在2个主要标准mmWave和Sub6GHz,前者注重速度,后者注重覆盖率。加州大学圣地亚哥分校的工程师们已经找到了一种方法,利用算法在障碍物周围弹出更快的信号,从……【观点】5G分节奏开启万物互联时代工信部公布资料显示,我国已累计建设5G基站91。6万座,占全球的70,5G连接数超过3。65亿,占全球的80。当前我国5G发展已走在世界前列,5G应用发展迈入“无人区”,需要创……浩鲸科技HETU5G消息助力区块链构建价值互联网2021年8月11日上午,硬核桃“核能沙龙”第三期正式举办。本期沙龙邀请了摩联科技CTO许刚、北京邮电大学教授魏翼飞、浩鲸科技5G消息市场总监李红纲与大家共同探讨5G消息中区块……Pixel6Pro细节:分辨率14403200支持5G配备屏Google高级副总裁HiroshiLockheimer在近日发布的推文(现在已经删除)中,透露了有关GooglePixel6Pro的各种细节。推文中的配图显示屏幕分辨率为14……RealmeGT5G今天在印度上市3月份宣布的RealmeGT5G将于当地时间今天中午通过Realme官方网站、Flipkart和主线渠道在印度上市。RealmeGT5G有两种内存选项8GB128GB,售……性能和AI均提升,高通骁龙888Plus助力5G旗舰决胜20智能手机市场,一向风起云涌。但是最近几年行业的发展,也不可避免的陷入“产品同质化”的怪圈。如何寻求差异化,打造卖点以打动消费者,成为厂商思考的首要问题,例如提升产品性能。而影响……摩托罗拉MotoG505GDimensity700正式上市今天早些时候在澳大利亚推出了一款新的摩托罗拉智能手机MotoG505G。这款手机与3月份推出的MotoG50有很多相似之处,尽管新款手机由联发科的Dimensity700芯片组……MotoG505G搭载联发科Dimensity700正式上市今天早些时候,摩托罗拉在澳大利亚推出了一款新的智能手机MotoG505G。这款手机与3月份推出的MotoG50有很多相似之处,不过新机型采用的是联发科的Dimensity……三星GalaxyM325G宣布:Dimensity720和4三星在6月份推出了配备HelioG80SoC的GalaxyM32,今天该公司又推出了5G版本GalaxyM325G与4G不同的是,三星GalaxyM325G采用Dimen……
友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界