`

Yupoo! 的网站技术架构

阅读更多

[转载自]http://dbanotes.net/arch/yupoo_arch.html

 

Yupoo! 的网站技术架构

又有机会爆料国内 Web 2.0 网站的架构了。这次是 Yupoo! 。非正式的采访了一下 Yupoo!(又拍网) 的创建人之一的 阿华(沈志华)同学,了解了一些小道消息。

作为国内最大的图片服务提供商之一,Yupoo! 的 Alexa 排名大约在 5300 左右。同时收集到的一些数据如下:

带宽:4000M/S (参考)
服务器数量:60 台左右
Web服务器:Lighttpd, Apache, nginx
应用服务器:Tomcat
其他:Python, Java, MogileFS 、ImageMagick 等

首先看一下网站的架构图:

Yupoo_Arch.jpg

该架构图给出了很好的概览(点击可以查看在 Yupoo! 上的大图和原图,请注意该图版权信息)。

关于 Squid 与 Tomcat

Squid 与 Tomcat 似乎在 Web 2.0 站点的架构中较少看到。我首先是对 Squid 有点疑问,对此阿华的解释是”目前暂时还没找到效率比 Squid 高的缓存系统,原来命中率的确很差,后来在 Squid 前又装了层 Lighttpd, 基于 url 做 hash, 同一个图片始终会到同一台 squid 去,所以命中率彻底提高了”

对于应用服务器层的 Tomcat,现在 Yupoo! 技术人员也在逐渐用其他轻量级的东西替代,而 YPWS/YPFS 现在已经用 Python 进行开发了。

名次解释:

  • YPWS–Yupoo Web Server YPWS 是用 Python开发的一个小型 Web 服务器,提供基本的 Web 服务外,可以增加针对用户、图片、外链网站显示的逻辑判断,可以安装于任何有空闲资源的服务器中,遇到性能瓶颈时方便横向扩展。
  • YPFS–Yupoo File System 与 YPWS 类似,YPFS 也是基于这个 Web 服务器上开发的图片上传服务器。

【Updated: 有网友留言质疑 Python 的效率,Yupoo 老大刘平阳在 del.icio.us 上写到 “YPWS用Python自己写的,每台机器每秒可以处理294个请求, 现在压力几乎都在10%以下”】

图片处理层

接下来的 Image Process Server 负责处理用户上传的图片。使用的软件包也是 ImageMagick,在上次存储升级的同时,对于锐化的比率也调整过了(我个人感觉,效果的确好了很多)。”Magickd“ 是图像处理的一个远程接口服务,可以安装在任何有空闲 CPU资源的机器上,类似 Memcached的服务方式。

我们知道 Flickr 的缩略图功能原来是用 ImageMagick 软件包的,后来被雅虎收购后出于版权原因而不用了(?);EXIF 与 IPTC Flicke 是用 Perl 抽取的,我是非常建议 Yupoo! 针对 EXIF 做些文章,这也是潜在产生受益的一个重点。

图片存储层

原来 Yupoo! 的存储采用了磁盘阵列柜,基于 NFS 方式的,随着数据量的增大,”Yupoo! 开发部从07年6月份就开始着手研究一套大容量的、能满足 Yupoo! 今后发展需要的、安全可靠的存储系统“,看来 Yupoo! 系统比较有信心,也是满怀期待的,毕竟这要支撑以 TB 计算的海量图片的存储和管理。我们知道,一张图片除了原图外,还有不同尺寸的,这些图片统一存储在 MogileFS 中。

对于其他部分,常见的 Web 2.0 网站必须软件都能看到,如 MySQL、Memcached 、Lighttpd 等。Yupoo! 一方面采用不少相对比较成熟的开源软件,一方面也在自行开发定制适合自己的架构组件。这也是一个 Web 2.0 公司所必需要走的一个途径。

非常感谢一下 Yupoo! 阿华对于技术信息的分享,技术是共通的。下一个能爆料是哪家?

分享到:
评论

相关推荐

    Yupoo构架说明文档

    Yupoo构架是一种用于构建大型图片服务网站的技术架构,它由一系列精心设计的组件组成,以高效地处理大量的图片上传、存储、处理和分发任务。Yupoo! 是中国境内知名的图片服务提供商,其Alexa排名显示出较高的流量。...

    YUPOO PHP API开发包

    7. **RESTful API**:如果YUPOO API遵循RESTful架构,开发者应理解资源的表示、状态转移和CRUD操作。 8. **调试技巧**:使用工具如`curl`命令行工具或PHP的`file_get_contents`、`cURL`扩展进行API调用测试。 9. *...

    YUPOO小插件

    这比在YUPOO网站上进行这些操作更为直观和快速。 在管理方面,YUPOO小插件可能具备专辑创建和分类功能。用户可以方便地将上传的照片按主题或日期归档,方便日后查找和分享。同时,插件可能还支持一键整理,帮助用户...

    Yupoo使用的软件

    Yupoo使用的软件,来自yupoo.com,供参考

    小林Yupoo批量下载

    "小林Yupoo批量下载"是一款专门针对又拍相册(Yupoo)设计的下载工具,版本为2.13。这款软件的主要功能是帮助用户快速、方便地批量下载存储在又拍相册中的图片,适用于需要备份个人照片集、整理素材或者进行图片处理...

    国内图片网站Yupoo的架构

    之前向大家介绍过全球最大在线图片服务网站Flickr网站架构,Yupoo(又拍网)作为国内最大的图片服务提供商,我们也一起来看看它的架构,同样是提供图片服务,看看他与Flickr的差别在哪里,大家看完本文可以思考一下...

    仿Yupoo日历相册net源码

    【仿Yupoo日历相册net源码】是一个基于C#编程语言开发的应用程序,其设计灵感来源于知名的图片分享网站Yupoo。这个项目旨在为用户提供一个类似于Yupoo的日历视图来展示和管理他们的照片专辑。下面将详细探讨这个源码...

    nginx_load_balance

    Nginx 已经在俄罗斯最大的门户网站── Rambler Media(www.rambler.ru)上运行了3年时间,同时俄罗斯超过20%的...、水木社区、豆瓣、YUPOO、海内、迅雷在线 等多家网站使用 Nginx 作为Web服务器或反向代理服务器。

    网站图片下载专用工具

    可以从任意网站上分析并下载图片,比如Google,又拍(yupoo)相册或者 其他您指定的网站地址等等。 3) 任意文件类型支持。eGet不仅仅用于下载图片,它还支持其他各种文件类型, 如MP3,影音文件,网页等等。 4) 支持...

    squid 强制缓存动态页面.docx

    Yupoo 是一个图片分享平台,其API接口可能由于高负载导致访问速度下降。为了改善这种情况,作者尝试通过修改 Squid 的配置来缓存 Yupoo 的 API 查询数据。根据参考文章“Caching Google Earth with Squid”,作者...

    又拍图片下载器可批量下载相册图片

    10. **技术支持与更新** 软件开发者通常会定期更新软件,修复已知问题,增加新功能。用户应保持软件的最新版本,以享受更好的服务。 通过以上介绍,我们可以看出又拍图片下载器是一个实用的工具,它简化了图片下载...

    图片批量下载工具 eGet 2010

    可以从任意网站上分析并下载图片,比如Google,又拍(yupoo)相册或者 其他您指定的网站地址等等。 3) 任意文件类型支持。eGet不仅仅用于下载图片,它还支持其他各种文件类型, 如MP3,影音文件,网页等等。 4) 支持...

    高性能Web服务器Nginx及相关新技术的应用实践

    高性能Web服务器Nginx及相关新技术的应用实践...在国内,已经有新浪博客、新浪播客、搜狐通行证、网易新闻、网易博客、金山逍遥网、金山爱词霸、校内网、YUPOO相册、豆瓣、迅雷看看等多家网站、频道使用 Nginx 服务器。

    PHOTODOWN批量下载图片相册

    (2)软件现可下载雅虎、谷歌、网易、百度贴吧、51、Yupoo、和讯等28种相册专辑的原图,并会逐步添加其他相册网站的批量下载功能。 (3)软件还可以批量获取通过百度、谷歌、搜狗、雅虎等搜索引擎搜索后的原图地址。

    批量下载图片Photodown 只要输入相册专辑的网址即可实现

    (2)软件现可下载雅虎、谷歌、网易、百度贴吧、51、Yupoo、和讯等28种相册专辑的原图,并会逐步添加其 他相册网站的批量下载功能。 (3)软件还可以批量获取通过百度、谷歌、搜狗、雅虎等搜索引擎搜索后的原图地址...

Global site tag (gtag.js) - Google Analytics