看5名技术人员是如何支撑起整个系统的:Instagram网站的图片存储架构
2020-12-31 09:10:57 阅读(159) 评论(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个稳定货源渠道了解一下! 1. 阿里巴巴 阿里巴巴是国内最大的线上釆购批发平台,为数千万网商提供了海量商业信息…查看详情
- json*解析怎么用
jsonpath可以用于解析网页数据吗?是的,JSONPath可以用来解析网页数据。它可以用来快速提取和检索任何给定网页数据中的元素,而不必手动检查或解析每个值。 它可以在JSON,XML,YAML和HTML之间方便地转换,使你使用一种格…查看详情
- 【了解国外知识产权登记内容】德国版权登记、专利申请流程
现今对作品申请版权登记、专利等以获得法律保护,已不仅限于国内了。我国创作者可在国外进行申请,外国人也可在我国进行申请。下面小万将为大家介绍关于德国版权登记、专利申请流程。 图片来源于网络 ▲ 德国版权登记流程:与我国版权登记流程几乎无区别…查看详情
- 美术作品著作权登记是什么?作品的发表时间如何确定?
一件美术作品可以带给我们艺术上的享受,美的享受。在现如今这个经济时代,一件完美的美术作品是可以通过买卖获取极大利益的,但是美术作品需要拥有版权,否则很容易被别人模仿,给自己的权益带来侵害。今天,小万就给大家说一说美术作品著作权登记那些事。 …查看详情
- 默认网关不可用如何解决?这几种方法可以解决
对于路由器不熟悉的用户,可能不知道默认网关是什么,它是用于网络相连的系统,可以使得两台设备互相连接,但是很多的朋友在使用电脑路由器的时候经常遇到默认网关不可用这个情况,下面*就给大家来详细介绍一下默认网关不可用如何解决这一块的内容,希望…查看详情
- 六款好用的*客服系统免费版
随着科技的发展以及科技的进步,客服的工作也越来越复杂多样,客服系统软件可以使客服的工作变得系统化,调理化,下面我给大家介绍六款好用的*客服系统软件免费版。 1、米多客 米多客是由大连米云科技有限公司针对企业咨询开发的一款*客服工具。主要提供…查看详情
- 传统企业电商之路:开始之前
随着电商行业的发展,一个又一个的像“林氏木业”、“三只松鼠”等商业传奇不断的出现,传统企业主面对这不断严峻的竞争环境和新模式下快速成长的“新势力”的冲击中,纷纷也开始走了自己的电商之路,准备成为下一个歌颂的对象。但是多年的传统经验和身处高位…查看详情
- 推荐几款好用的英语小说软件,想看的应有尽有
喜欢看英语小说,不仅可以购买一些纸质小说,同时也可以选择好用的英语小说软件,应用起来更加的简单方便,其中所包含的内容也是非常丰富的,但是面对多种不同的英语小说软件,可能大家不知道该如何选择,那么下面就为大家推荐几款,好用的英语小…查看详情
- 靠谱的网上客服系统,帮助店铺智能留客
随着网络销售、*商铺的遍地开花,网上客服需求量也在逐渐增高,商户及网络平台对于网上客服系统的使用频率、使用要求随之变多。越来越多的商户希望可通过简单的*客服系统完成店铺的客服导入。那么,靠谱的网上客服系统有哪些呢? 1、智齿…查看详情
- 末世小说排行榜,这几本十分好看
在民间流传着某些年是世界末日的传说,人们对于世界末日也有着一定的好奇心,甚至打败了恐惧的心理,所以各种世界末日的小说和影片也迎刃而生,那么关于一些好看的末世小说进行介绍,想看的话一定不要错过。 1、狩魔手记 这部小说在20…查看详情
- 有哪些适合文本阅读的软件?这4款适合闲暇之余打发时间
现在社会,需要阅读的地方越来越多,我们能从阅读里获得的知识也越来越多。有哪些适合文本阅读的软件呢?快来看看我的推荐吧。 1.书旗小说 书旗小说app可以简单快捷的看各种小说,各种类型小说都可以选择,而且APP新手还有机会获得…查看详情
- 产品卖点找得好,品牌传播自然快
过去,企业提炼产品卖点是从自身出发,自己决定产品的优势是什么,然后通过媒体广告告诉消费者,那么有该卖点需求的消费者就可能成为企业的客户。但如今,市场产品包罗万象,同一类需求的产品可能存在成百上千种品牌,你的产品优势也正是别人的卖点。消费者成…查看详情
- 涵盖6大模块的创新智能化售后服务管理
售后服务是售后最重要的环节。售后服务已经成为了企业保持或扩大市场份额的要件(如舒达、天猫、京东等)。售后服务的优劣能影响消费者的满意程度。在购买时,商品的保修、售后服务等有关规定可使顾客摆脱疑虑、摇摆的形态,下定决心购买商品。优质的售后服务…查看详情
- 3款可以直接网页登陆的库存管理软件
库存的管理是一件非常重要的事情,但是,每个人对于库存管理的要求不一样,有的人会直接让员工做好管理,有的人则会选择软件管理,那么,关于网页库存管理软件都有哪些呢? 1、小库存管理 小库存管理聚集了库存量预警信息、订单管理、产品…查看详情
- 2021最新中国网店代运营前7排名
随着时代的发展,各行各业都涌现出了新的不一样,而网店代运营就是其中之一。它通过高效的服务、方便的管理闻名于世。本期*就整理了七个在本行业较为出名的网店代运营公司,希望能为各位提供帮助。 1.宝尊电商网店代运营 宝尊电商于2006年在上海成立…查看详情
猜你喜欢
最新文章

扫码二维码
立即领取《千元实战营销秘籍》
还可免费试用营销管理系统
*如有疑问,请随时拨打免费咨询热线: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

企业首选的数字选用平台

400-0033-166
8:30-18:00















































注册有好礼



