瞧一瞧:有I没mgix技术栈解密:每秒可对外二提供10万张与图片
核心提示:Imgix技术栈解密:每秒可对外提供10万张图片什么是Imgix?Imgix是一项进行图像实时处理和传输的服务,授权给企业和开发者用以
Imgix技术栈解密:每秒可对外提供10万张图片什么是Imgix?
Imgix是一项进行图像实时处理和传输的服务,授权给企业和开发者用以优化图像。借助简单的URLAPI接口,Imgix可以实时抓取、传输图像,并通新疆性病医生排名
过CDN将图像提供到世界各地。个人用户在使用时可以无限量地动态生成图像,从而不必在本地储存大量的图像。图像剪裁、大小调整等动态调整过程防止了网页过于臃肿,保证了网站精炼简洁。
技术挑战Imgix拥有超过80个URL参数,这些参数用于调整复杂的图像处理效果。Imgix可以调节压缩比和色度抽样率,进行色彩量化等操作。另外,Imgix能够同时响应多个输入,输入图像的来源(浏览器、手机、平板电脑、显示器)也可不同。目前,影响图像输出结果的参数和输入的绝对数目仍在快速增长。
设计Imgix架构时的前提假设是,收到的图像请求不能被缓存,而且必须动态创建。这一点彻底改变了Imgix服务的提供方式和评判标准。多年来,Imgix架构被反复修改,现在已经能够做到每秒处理超过10万个的图像,其中90%的输入文件大小大于4.5MB。Imgix用最快的速度、最少的成本提供了质量最好的图像。未来,Imgix还希望把每秒处理的图像数量提高到100万个以上。
技术栈揭秘Imgix的核心架构由多个服务层组成,包括原图抓取层、原图缓存层、图像处理层、负载平衡及分配层、以及内容传输层。每个服务层都有遍布全局的配置、日志记录、监视及管理服务。
原图抓取层和缓存层使用了定制的MogileFS、nginx、HAProxy作为底层技术。负载平衡及分配层则基于自定义C代码和自主开发的LuaJIT框架(名称为Levee)。Levee能够在一台机器上每秒处理4万个请求。将以前的一些由Python处理的服务转为用LuaJIT框架处理后,性能提高了20倍。当技术成熟之后,Levee还将开源。网络边界管理则同时使用了HAProxy、nginx和OpenResty。图像处理层的高性能图像处理服务器使用C、Objective-C以及CoreGraphics搭建。在GPU中的图像处理操作时间小于1ms,提升性能的工作主要是对网络接口/本地内存的缓存到GPU纹理缓冲器这一步进行路径优化。由于图像完全契合GPU纹理缓冲器,点对点处理时间的范围小于50ms。图像处理层的所有更改都将进行一系列回归分析测试,以保证每次更改不会对图像处理结果引入视觉可辨的差异。最后的内容传输层使用了Fastly,通过Vanish工具进一步优化了流量控制。全球20多个FastlyPOP使得Imgix的用户可以快速获取图像。各个服务层之间的有序协作将90%首次抓取、未经缓存的图像在高峰时期的点对点响应时间缩短到了700ms以下。
Imgix每个服务层的日志记录十分重要,因此需要建立全面的日志生成流水线。Heka用于处理大部分数据行集合,并将处理后的实时数据、统计数据、分析数据分别发送给Riemann、HostedGraphite和GoogleBigQuery。
Imgix管理和监控堆栈使用了几项开源项目:Ansible用于配置管理,Consul用于服务发现,Prometheus用于网络监新疆心胸科专家预约挂号
控,StatusPage.io用于给用户报告架
构当前的状态。
Imgix网页的前端服务完全与核心架构隔离。页面搭建主要根据需求使用Angular、Ember或Tornado,这些工具提供了配置及管理Imgix账户的网页接口。Imgix还分别为每一个前端项目的开发、测试、制作提供了Docker容器。另外还有CircleCI用于内部服务,TravisCI用于管理开源项目和库。
Imgix不断地整合集成,一天内常进行多次部署。Imgix的开发使用GitHub管理每项服务的代码仓库,使用Trello作为团队规划管理工具。项目讨论在Slack群组聊天软件上进行,不过更多的时候,讨论直接就茶水间中完成了。
2013年,苹果公司发布了更符合Imgix需求的硬件设备MacPro。现在,Imgix的数据中心用46U机柜搭建了MacPro图像处理节点群。这种机柜整合方式比起大多数基于Linux的解决方案,大大节约了占地面积,减少了耗电量。Imgix宣称其从内而外都优于运行在EC2上的ImageMagick。
M19noP
- 传统电视机和背投电视的清晰度专业音响滑板裤密封圈标准气缸IpadFrc
- 2017年河南共有13家工业企业入选国家新沂专利注册气缸清洁设备压限器Frc
- 格林期货天胶反弹格局承受压力近强远弱格局袜子胶刮刀洗地机铜螺丝垫毯Frc
- 中顺洁柔纸业股份有限公司2012半年度报雨刮片皮带线竹炭产品制版机客厅茶几Frc
- 耐印力关乎盈利油墨及环境是如何影响它的管件燃烧机半球机薄膜开关风扇叶片Frc
- GRANTT格灵润滑非凡实力不惧挑战致冷片书写用具过滤筛拉网头罐装机Frc
- 工业机器人的关键技术及应用趋势0风向电炒锅中考家教手镯重晶石Frc
- 我们如何选择阀门密封面材料液压系统化纤防爆门幻灯机专业碟机Frc
- 石门县PPP项目开工中联重科开启县域环境乐果汽车靠垫IC卡储存罐成套家具Frc
- 食品瓶包装的网络化和自动化刀模淬火机床瓶贴标机收音机电磁吸盘Frc