首页 >知识讲堂 >网站建设知识>看5名技术人员是如何支撑起整个系统的:Instagram网站的图片存储架构

看5名技术人员是如何支撑起整个系统的:Instagram网站的图片存储架构

2020-12-31 09:10:57 阅读(145 评论(0)

Instagram是Facebook以10亿美元收购的著名手机照片共享应用程序,最近引起了无数人的关注。Instagram联合创始人MikeKrieger表示,他们花了8周时间建造了最初的Instagram,但现在的系统肯定已经不是以前的样子了。Instagram技术团队发表了一篇文章,介绍了Instagram背后的技术。最近,MikeKrieger在名为ScalingInstagram的演讲中介绍了更多细节,让人们知道五名技术人员是如何支持整个系统的。上传一张照片的过程如下:1。同步写入媒体数据库;2.如果照片上有地理位置标签,则异步将照片提交给Solr索引;3.将照片的ID添加到每个关注者的列表中,并将其保存在Redis中;4.显示Feed时,选择一小部分照片ID,在Memcached中查询;5.设计系统时,Instagram的设计理念简单,优化和监控所有内容,减轻运维负担;其核心原则是保持简单,不重复发明轮子,尽可能使用验证、稳定、可靠的技术。由于只有5名技术人员(其中只有2.5名后端工程师)精力有限,选择Amazon的云服务是个不错的选择。由于只有5名技术人员(其中只有2.5名后端工程师)精力有限,选择Amazon云服务是一个不错的选择。目前,他们使用了100多个EC2实例来提供各种服务。操作系统为Ubuntu11.04,以前的一些版本在高流量时表现不稳定。在负载平衡方面,他们使用Amazon的ElasticloadBalancer来实现负载平衡,后端运行了三个Nginx实例,SSL只在ELB上,减少了Nginx上的CPU负载。DNS和CDN分别由Amazon的Route53和CloudFront提供,所有照片都存储在S3上,目前有几个TB规模。AmazonHighigh操作用于处理请求的应用服务器-CPUExtra-在Largeinstance之上,因为他们的要求更多的是CPU密集型,所以这可以更好地平衡CPU和内存。开发框架为Django,WSGI服务器为Gunicorn,通过Fabric在所有机器上并行部署,一次只需几秒钟。PostgreSQL中存储用户信息、图片元数据、标签等大部分数据。在实践中,发现Amazon的网络磁盘系统在单位时间内找道能力不好,因此有必要将数据尽可能放入内存中。为了提高IO能力,创建了软RAID,使用MDADM工具进行RAID管理。vmtouch是管理内存中数据的小工具,值得推荐。PostgresQL设置为Master-Replica模式,流复制模式。使用EBS快照备份数据库。为了充分配合快照服务,使用XFS文件系统。PostgreSQL复制管理器采用repmgr这个小工具。Pgbouncer用于连接池管理。ChristophePetus的文章包含了很多PostgreSQL数据库的信息。Pgbouncer在连接数据库时建立应用程序连接池。目前,Instagram的数据根据用户ID进行分割,有些分割可能超过物理节点的容量上限,因此将数据分成多个逻辑分割,映射到少数物理节点;当一个节点被填充时,一些逻辑分割可以移动到其他节点,以减轻节点的压力。随着数据量的增加,他们将在未来进行垂直分区,DjangoDBRouter可以让一切轻松得多。Instagram还使用Redis存储复杂的对象(对象的大小有一定的限制),用于主Feed、活动Feed、会话系统等相关系统。因为Redis的所有数据都应该放在内存中,High也应该用在这里-MemoryQuadrupleExtra-LargeInstance,并对数据进行了分片。当Redis实例的要求达到4000/秒时,它逐渐成为瓶颈,因此Redis也从复制开始,复制的数据经常导出到磁盘上,并通过EBS快照备份。除了Redis,他们还使用Memcached作为缓存,目前运行了6个例子,应用服务器通过pylibmc和libmemcached连接。Amazon虽然提供Elasticcache服务,但服务价格并不便宜。相比之下,运行自己的Memcached实例更划算。Gearman用于异步任务队列。目前,处理各种任务的工作流程约为200个,如与Twitter和Facebook分享照片、通知用户新照片等。Pyapns已经处理了10亿推送通知,非常稳定。他们还开发了自己的基于Node的推送通知.jsnode2dm,用于向Android设备发送推送通知。在监控方面,Instagram使用Munin以图形化的方式呈现整个系统的运行状态,并通过Python-Munin定制一些插件来显示业务数据;Stated可以实时收集和总结网络保护过程;Dogslow将监控过程。一旦发现过程运行时间过长,将保存过程快照进行后续分析,例如,响应时间超过1.5秒的请求通常卡在Memcachedset()和get_many()方法。只要登上Sentry,Python的错误就可以实时获取错误信息。Highscalability还根据Instagram团队软件工程师MikeKrieger的演讲,整理了一些值得借鉴的经验,比如:1。找到你熟悉的技术和工具,在简单的使用场景中做一些尝试。2.不要用两个工具来处理同样的任务。3.提前准备降级方案,必要时减轻负荷。4.不要过度优化。或者希望事先知道网站应该扩展。对于一个初创的社交网站来说,没有扩展问题是无法解决的。5.如果一个方法不好,请尽快更换另一个方法

以上就是关于看5名技术人员是如何支撑起整个系统的:Instagram网站的图片存储架构的相关介绍,更多看5名技术人员是如何支撑起整个系统的:Instagram网站的图片存储架构相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对看5名技术人员是如何支撑起整个系统的:Instagram网站的图片存储架构有更深的了解和认识。

内容来源:网络,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

电商平台代运营要有6个规划,才叫专业,才能选择它

社会发展、互联网发展,迎来的是人们生活方式的改变,企业经营模式的改变。个人在开网店、商家在开网店、企业在开网店,网店数量一直在增加,与此同时电商平台代运营公司也在急速增加。 图片来源于网络 电商平台代运营公司…查看详情

优质营销短信:格式规范、商业化、时间化

短信营销是当下宣传效果比较好、成本较低的一种推广方式,同时也受到很多中小型的青睐。优质营销短信不仅切合流量发展的大市场方向,为企业和消费者层面创造更好的体验。企业通过不断对短信内容进行解析升级,创造出优质营销短信…查看详情

微信小程序申请步骤

  如何注册申请微信小程序?  1、微信小程序注册在微信公众平台官网首页,按照提示点击右上角的“立即注册”按钮,里面总过有12步,按照要求提交就可以了。  2、小程序申请微信认证政府、媒体、其他组织类型帐号,必须通过微信…查看详情

ug是什么软件

UG是用来干什么的?UG软件主要功能是将原有2维平面制图拓展至三维立体制图的软件,主要是迅速帮助设计加工等人员认知产品结构,还可向下生成2维图纸并标注细节尺寸、表面要求、技术要求等。相同类型软件有pro/E,solidworks,CATIA...查看详情

文件恢复软件哪个靠谱呢?你选对了吗?

现在的人们通常都会使用手机或者是电脑去办公,但难免会出现误删的情况,让自己的辛苦付之东流。其实文件丢失了不用担心,可以通过文件恢复软件来成功找回,但作为电脑的菜鸟,怎样选择合适的软件,就成为了人们较为关注的问题,…查看详情

2022年免费有效的推广平台有哪些

  最近几年对于企业做推广来说难度是越来越大,下面万商云集小编就给大家来推荐下2022年免费有效的推广平台有哪些,希望能帮助到大家。  那曾经有哪些属于红利期的营销玩法和渠道?读完这篇文章你能了解到:  1、互联网营销该…查看详情

谷歌镜像是什么意思?有什么作用?

  谷歌镜像(GoogleMirror)是指对谷歌搜索引擎的镜像站点,也就是把原来的谷歌网站内容(包括搜索结果、谷歌应用程序等)做了一个完全的备份,用户可以通过访问谷歌镜像站点来获取Google搜索结果或使用Google的其他应用程序。谷歌...查看详情

注册商标能一样吗?可在不同类别注册相同商标

在这个商标注册成功一天比一天难的今天,在这个最容易因商标相似或相同而被驳回的今天,注册商标能一样吗?答案是,能。具体为什么可以参考《商标法》中的规定。 图片来源于网络 注册商标能一样吗?我国《商标法》规定:同…查看详情

微信公众号怎么开通 微信公众号开通方法

现在微信公众号也成为了很多企业引流推广营销的一个阵营,但是对于新手来说微信公众号都不知道怎么注册,下面万商云集小编就给大家来介绍下信公众号开通方法。 第一步:4步完成微信公众号怎么创建  1、打开网页搜索并登录微信公…查看详情

电商运营是做什么的

  电商运营是指运用互联网技术和电子商务手段,对电商平台进行全方位的规划、管理和运营,以达到促进销售、提升用户体验、增强品牌影响力、实现商业目标的目的。电商运营是电商企业成功的重要因素之一,它直接关系到电商企业的…查看详情

跨境电商自建站平台有哪些

如果企业想要得到更好的推广,那么建设网站就是首选。每一家企业所销售的产品是不一样的,有些企业是属于跨境电商,那么在进行网站建设的时候,就应该要注意选择一些比较不错的自建站平台。那么跨境电商自建站平台有哪些呢?这个…查看详情

全球范围内好用的个人管理软件详情介绍

在中国,我们更多地接触个人时间管理软件或库存软件。然而,很少有用户知道个人信息管理软件。个人信息管理软件的英文名称是personalinformatiomanagement(个人信息管理),简称PIM,它用于管理我们日常生活中的许多方面的信...查看详情

初级会计刷题软件哪个比较好?冬奥会计云课堂好用吗?

根据网上数据显示和综合个人的经历。我比较推荐东奥“会计云课堂”,一款集资讯、学习、商城为一体的移动学习应用产品,给各位考生更优质的课程体验和服务。初级会计刷题软件哪个比较好?备受关注的冬奥会计云课堂好用吗? 冬…查看详情

视频去马赛克软件有哪些 好用的视频去马赛克软件

现在属于自媒体时代,很多的小伙伴也选择自媒体创业,这个时候视频处理就是很麻烦的事情了,很多的视频会带上马赛克的,下面万商云集小编给大家来详细介绍一下视频去马赛克软件有哪些 好用的视频去马赛克软件这一块的内容。希…查看详情

矿泉水品牌有哪些 2022矿泉水品牌排名

  随着中国经济社会的发展,人们生活水平的提高,人们消费的品牌意识越来越强。重视品牌,反映了消费者生活理念的转变。同质同价的矿泉水,消费者更青睐品牌产品。那么国内知名常见的饮用矿泉水中,下面万商云集小编给大家来详…查看详情

首页

产品

万商学院

客户服务

会员中心

当前站点

h

选择站点

全国站成都

一 客户顾问-张三

已为0个客户提供专业互联网服务咨询
  • 手机号码
  • 验证码图形验证码换一张
  • 短信校验码

    电话咨询

    在线咨询