ins特效可以用在照片上吗,instagram能干啥
Instagram reveal:牛逼的图片服务使用了哪些设备和技术?-移动开发-软件开发频道-CSDN。网
Instagram reveal:牛逼的图片服务使用了哪些设备和技术?2012-04-06 12:22
9,038次阅读
来源:Tumblr
【已发表28条评论】评论。
关键词:科技,Instagram,发展
作者:杨鹏飞
收集这些信息
相信很多喜欢拍照的iOS用户对Instagram的喜爱由来已久,Instagram昨天也发布了Android版本。相比一些特效、边框、灯光效果更多的应用,Instagram的社交性更丰富,用户粘性更强,图片处理速度更快。Instagram每天都会接受大量来自iOS和Android客户端的请求、要求和要求.很多同行都很好奇Instagram每天处理大量数据的方式和工具。Instagram通过科技博客向外界揭示了这家世界级图片服务商所使用的设备和技术,供开发者参考。
图片:Instagram
根据Instagram团队的说法,他们选择系统有三个主要原则:
保持对现成工具的简单使用,不必从已经被普遍认可的稳定技术底层开始。
选择亚马逊EC2作为主机,Ubuntu Natty作为操作系统,因为Instagram团队发现Natty在高流量环境下相对比之前版本更稳定;负载均衡设备使用亚马逊的弹性负载均衡器,DNS选用亚马逊的Route53;Amazon高CPU超大设备作为应用服务器,运行Django处理应用请求;用Gunicorn做WSGI服务器,因为更容易找到Gunicorn来配置;使用Fabric部署代码。
图片来源:Ubuntu
资料库
采用PostgreSQL数据库,因为亚马逊的网盘系统(EBS)无法提供足够的每秒磁盘寻道,所以他们在软件磁盘阵列(RAID)中通过mdadm设置EBS驱动。内存中的数据处理使用vmtouch,PostgreSQL实例都是流复制设置的,使用的工具是repmgr;EBS快照用于定期备份系统,使用的工具是EC2-consistent-snapshot;数据库的文件系统使用XFS,使用快照时可以冻结/解冻RAID阵列;使用Pgbouncer总结到PostgreSQL的连接;亚马逊S3用于数据库和亚马逊CloudFront用于CDN。Redis用作基于日志和键值的数据库,可以基于内存持久化。
图片来源:codingthewheel
推送和监控
Gearman用于任务,pyapns用于推送通知;用Munin图显示整个系统的各种指标;使用Pingdom作为外部监督服务;用传呼机职责处理通知和事故;用哨兵报告Python错误。
总结起来就是:使用已经被普遍认可的技术来降低维护成本,尽可能把精力花在自己的核心业务上。所谓“好钢用在刀刃上”。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。