公告:网址大全导航目录www.btv85.com为各位站长提供免费收录网站的服务,VIP会员每天提交网站30、文章30免审核,快审服务(10元/站),可自助充值发布。

点击这里在线咨询客服 点击这里在线咨询客服
新站提交
  • 网站:223084
  • 待审:0
  • 小程序:16453
  • 文章:25975
  • 会员:239

今天BTV导航网的小编为你讲一下解析Instagram网站的图片存储架构相关的内容。

被Facebook以10亿美金收购的著名手机照片分享应用Instagram最近吸引了无数人的眼球,Instagram联合创始人Mike Krieger说他们用了8周时间打造了最初的Instagram,但现在的系统肯定已经今非昔比。Instagram技术团队曾发表过一篇文章,介绍了Instagram背后的技术,日前Mike Krieger在名为Scaling Instagram的演讲里,又介绍了更多细节,让人们能了解到5名技术人员是如何支撑起整个系统的。

一张照片上传的过程是这样的:

1.采用同步的方式写入媒体数据库
2.如果照片上有地理位置标签,则以异步的方式将照片提交给Solr进行索引
3.将照片的ID加入每个关注者的列表里,该列表保存在Redis之中
4.在显示Feed时,选取一小部分照片ID,在Memcached里进行查询
5.在设计系统时,Instagram的设计哲学是简单、为最小化运维负担进行优化并监控一切内容;其核心原则是保持简单,不要重复发明轮子,尽可能使用经过验证、稳定可靠的技术。

由于只有5名技术人员(其中仅2.5名后端工程师),精力有限,选择Amazon的云服务是个不错的选择。目前他们使用了超过100个EC2实例用于提供各种服务,运行的操作系统是Ubuntu 11.04,之前的一些版本在高流量时表现不够稳定。在负载均衡方面,他们使用Amazon的Elastic Load Balancer实现负载均衡,后端运行了3个Nginx实例,SSL只到ELB上为止,降低了Nginx上的CPU负载。DNS和CDN分别由Amazon的Route 53和CloudFront提供,所有的照片都存放在S3上,目前已经有几TB的规模了。

用于处理请求的应用服务器运行于Amazon High-CPU Extra-Large Instance之上,由于他们的请求更多是CPU密集型的,因此这能更好地平衡CPU与内存。采用的开发框架是Django,WSGI服务器是Gunicorn,通过Fabric在所有机器上进行并行部署,一次部署仅需几秒钟。

用户信息、图片元数据、标签等大部分数据存储在 PostgreSQL 中。
实践中发现 Amazon 的网络磁盘系统单位时间内寻道能力不行,所以有必要将数据尽量放到内存中。创建了软 RAID 以提升 IO 能力,使用的 Mdadm 工具进行 RAID 管理。
管理内存中的数据,vmtouch 这个小工具值得推荐。
PostgreSQL 设置为 Master-Replica 方式,流复制模式。利用 EBS 的快照进行数据库备份。使用 XFS 文件系统,以便和快照服务充分配合。 使用 repmgr 这个小工具做 PostgreSQL 复制管理器器。
连接池管理,用了 Pgbouncer。Christophe Pettus 的文章包含了不少 PostgreSQL 数据库的信息。

应用程序在连接数据库时,由Pgbouncer建立连接池。目前,Instagram的数据按照用户ID进行分片,某些分片可能会超出物理节点的容量上限,为此他们将数据分成了很多个逻辑分片,映射到少数几个物理节点之上;当一个节点被填满之后,可以将某些逻辑分片移到别的节点上,以缓解该节点的压力。随着数据量的增长,以后他们也会进行垂直分区,Django DB Router能让一切轻松不少。


Instagram也大量使用Redis来存放复杂的对象(对象的大小做了一定的限制),用于主Feed、活动Feed、会话系统及其他相关系统。因为要将Redis的所有数据都放在内存里,此处同样也用了High-Memory Quadruple Extra-Large Instance,并对数据做了分片。当Redis实例的请求达到4万/秒后,它渐渐成为了瓶颈,于是Redis也做了主从复制,副本的数据会经常导出到磁盘上,通过EBS快照进行备份。

除了Redis,他们还使用Memcached来做缓存,目前运行了6个实例,应用服务器通过pylibmc和libmemcached进行连接。虽然Amazon提供了Elastic Cache服务,但该服务的价格并不便宜,相比之下,还是运行自己的Memcached实例比较划算。异步任务队列使用的是Gearman,目前有大约200个工作进程来处理各种任务,比如把照片分享到Twitter和Facebook,通知用户有新照片等等。Pyapns已经处理了十亿的推送通知,非常稳定,他们还自己开发了基于Node.js的node2dm,用于向Android设备发送推送通知。


监控方面,Instagram使用Munin以图形化的方式呈现整个系统的运行状况,还通过Python-Munin定制了一些插件,用来显示业务数据;网络守护进程Stated可以实时收集数据并做汇总;Dogslow会监控进程,一旦发现运行时间过长的进程,便会保存该进程的快照,以便后续分析,比如响应时间超过1.5秒的请求,通常都是卡在Memcached的set()和get_many()方法上。对于Python的错误,只要登上Sentry就能实时获取错误信息。

HighScalability上还根据整理Instagram团队软件工程师Mike Krieger的演讲整理了一些值得借鉴的经验,比如:

1.找那些你熟悉的技术和工具,在简单的使用场景里先做一些尝试
2.不要使用两个工具来处理同样的任务
3.事先准备降级方案,以便在需要时降低负载
4.不要过度优化,或者希望能事先知道站点要扩展,对于一个初创的社交站点而言,没什么扩展性问题是解决不了的
5.如果一个办法不行,赶快换下一个

通过对解析Instagram网站的图片存储架构的详细介绍,希望对你有所帮助,我们提供了更多和解析Instagram网站的图片存储架构类似的相关内容推荐,可以你更全面的帮助你解决问题。我们BTV85网址导航还提供网址收录服务,你可以注册提交你的网站信息,帮你引导搜索引擎蜘蛛,同时还有网站SEO优化交流微信群,里面很多SEO高手和大咖,加友链,可以免费进群。

解析Instagram网站的图片存储架构同类内容推荐:
  • 弹壳特攻队公会玩法攻略解析

    弹壳特攻队公会系统即将上线,大家可以选择感兴趣的公会加入,和志同道合的小伙伴一起游戏。下面为大家带来最新 2023-08-04

  • 第七史诗丽希阵容组合解析

    第七史诗丽希阵容怎么搭配?丽希拥有单体高输出,就业配队广,可阵地可高速核爆。下面为大家带来第七史诗丽希阵容 2023-08-04

  • 隐秘的档案谁是我的孩子攻略解析

    隐秘的档案谁是我的孩子是一个恐怖关卡,床上和床下各有一个孩子,大家需要找出奇怪之处,做出选择。以下是隐秘的 2023-08-04

  • 第七史诗小泡芙装备组合解析

    第七史诗小泡芙定位为半肉半输出,面板类型为低速承伤,技能倍率拥有防御力加成。下面为大家带来第七史诗小泡芙 2023-08-03

  • 超级达人正义的光攻略解析

    超级达人正义的光是一个脑洞找茬关卡,图中有一个男人,大家需要找到家暴证据,惩罚家暴男。以下是btv85导航网带 2023-08-03

  • 幻塔拘兽玩法攻略解析

    幻塔拘兽是最新上线的休闲玩法,当玩家等级达到60级后,大世界中有概率出现可被捕捉的异兽,大家可以抓捕并养殖。 2023-08-03

  • 超级达人贵妇谜案攻略解析

    超级达人贵妇谜案是一个剧情关卡,一个女人在自家卧室不幸身亡,大家需要还原故事场景找出真相。btv85导航网为 2023-08-03

  • 戏怨第二章相思意攻略解析

    戏怨第二章相思意怎么过?这一章的难度有所上升,大家需要注意场景中的线索,联系线索进行解密。以下是详细的戏怨 2023-07-03

  • 长安幻想醉山打书攻略解析

    长安幻想醉山即土系熊猫,定位是嘲讽+轻微守尸的作用,吸收伤害也是一个亮眼表现。接下来为大家带来长安幻想醉 2023-06-27

  • 长安幻想稻神打书攻略解析

    长安幻想稻神是辅助系妖灵,技能可以选定一只主人的妖灵,在回合末将其召唤上场,自身退场。下面为大家带来详细的 2023-06-25

  •   admin

    注册时间:

    网站:0 个   小程序:0 个  文章:0 篇

    • 223084

      网站

    • 16453

      小程序

    • 25975

      文章

    • 239

      会员

    赶快注册账号,推广您的网站吧!
    热门网站
    最新入驻小程序

    小朋友猜谜语2021-05-24

    小朋友猜谜语是一款学习教育类的

    球比分2021-05-24

    球比分是一款体育运动类的小程序

    匠人名片2021-05-24

    匠人名片是一款交友社交类的小程

    知晴2021-05-24

    知晴是一款生活服务类的小程序应

    优惠券查询工具2021-05-24

    优惠券查询工具是一款其他工具类

    成语词典汉字拼音故事大全字典2021-05-24

    成语词典汉字拼音故事大全字典是