Yupoo网站技术架构

news/2024/4/27 17:39:16/文章来源:https://blog.csdn.net/comlc/article/details/4093573

http://www.dbanotes.net/arch/yupoo_arch.html

 

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

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

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

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

x

 

该架构图给出了很好的概览(点击可以查看在 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! 阿华对于技术信息的分享,技术是共通的。下一个能爆料是哪家?

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_859021.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编写高性能Web网站应用程序入门的10个技巧

IT168 技术文档】 用 ASP.NET 编写 Web 应用程序其轻松程度令人难以置信。它是如此的容易,以至于许多开发人员不用花费多少时间来构筑其应用便能获得非常好的性能。在本文中,我将给出10个编写高性能 Web 应用的技巧。我的评论不仅仅局限与 ASP.NET 应…

15个优秀的Google提供给网站建立者的工具

转载自: 我想网 http://www.iwanna.cn/archives/2010/04/18/2773/ 发布者: seasun 一直以来,Google 为 Web 开发与设计者推出了大量的免费工具,让他们更好地创建,维护,改善他们的 Web 站点,这些工具包含…

关于手机网站开发的数据总结

目录 手机用户设备统计分析 手机浏览器兼容性测试结果概要 手机网站开发中你需要注意的问题 推荐参考资料 总结 手机用户设备统计分析 拥有全面的用户数据,无疑能帮助我们做出更符合用户需求的产品。内部数据能帮我们精确了解我们的目标用户群的特征;而…

操作指南丨利用IPFS相关技术/工具托管网站

这是一个快速教程,教你: 在IPFS上托管一个简单的静态网站 更改网站内容时,使用IPNS保留一个id(地址) 使用DNSLink将IPNS id替换为可读的地址 首先你需要安装、初始化(https://ipfser.org/2019/09/06/ipf…

IPFS周报-83期:Opera浏览器、ETH网站纷纷入驻IPFS!

协议实验室 编制 IPFS原力区 编译 星际文件系统(IPFS)是一种新的超媒体分发协议,通过内容和身份进行寻址。IPFS支持创建完全分布式应用程序,它的目的是使网络更快、更安全、更开放。 以下是本期IPFS周报的一些亮点: …

IPFS周报-85期:IPFS发行网站改成什么样了?

协议实验室 编制 IPFS原力区 编译 星际文件系统(IPFS)是一种新的超媒体分发协议,通过内容和身份进行寻址。IPFS支持创建完全分布式应用程序,它的目的是使网络更快、更安全、更开放。 以下是本期IPFS周报的一些亮点: …

Django框架实现可运营电商网站(一)-- 后台部分

文章目录 0 业务准备工作0.1 产品需求描述0.2 业务主体描述0.3 业务逻辑描述业务点 1、项目准备工作1.1、创建项目(可用pycharm,也可使用命令,这里用命令行来演示)1.2、pycharm操作1.3、配置子url、app静态文件夹、app网页文件夹1…

Django框架实现可运营电商网站(二)-- 前台部分

文章目录 1 前台模板修改1.1 模板制作1.2 静态链接1.3 在视图和路由中关联所有页面1.4 修改跳转链接1.5 运行项目1.6 收集静态文件 2 建模3 注册与登陆3.1 注册页面3.1.1 样式3.1.2 需要导入的所有包:3.1.3 密码加密函数:3.1.4 邮箱发送函数:…

mysql 5.6.12源码_最新LAMP源码搭建网站平台PHP5.5.1 + Apache2.4.6 + mysql5.6.12

记录一下,今天配置的这台网站服务器,大部分都是在官方找的最新版源码包。 1.下载安装所需要的最新软件源码包,包括最新的apache、mysql、php以及相关库文件的源码包。 2.检查安装时使用的编译工具是否存在。 3.卸载默认的低版本环境及rpm包环…

网站服务器如何导入数据库,网站服务器如何导入数据库

网站服务器如何导入数据库 内容精选 换一换 PostgreSQL支持逻辑备份。您可使用pg_dump逻辑备份功能,导出备份文件,再通过psql导入到RDS中,实现将PostgreSQL的数据导入到云数据库RDS中。云数据库RDS服务支持开启公网访问功能,通过弹…

阿里云服务器ubuntu18-04下使用wordpress搭建网站/ ‎编辑

** 阿里云服务器ubuntu18-04下使用wordpress搭建网站/ ‎编辑 ** 一. 服务器领取 高校学生可以免费领取,此处不做详述: 二. 配置wordpress 首先进入控制台: 然后远程登陆服务器(xshell、putty等)。 输入以下两条命令: &…

身为Android程序猿,必不可少的十大网站

 身为Android程序猿,必不可少的十大网站,让你更加高效的去开发。 第一,Google(http://www.google.com/)谷歌是Google公司开发的互联网搜索引擎。主要提供网页搜索,图片搜索&#…

手把手教你每个人都可以拥有的个人博客网站

题记 ------去过的地方越多,越知道自己想回到什么地方去! 雨又下了一夜,曾经多少次觉得下雨天是最适合睡觉的天气。而最近的雨,总感觉有些嘈杂,总怕吵醒远方睡梦中的星,晨。以至于翻来覆去睡不着。但是&…

手把手教你使用Hexo和github搭建免费个人博客网站

俗话说的好“吃水不忘挖井人”,当自己体验过Hexo搭建个人网站后,也来分享一下搭建过程遇到的乐趣以及遇到的坑! 准备工作(电脑配置工具) 在搭建Hexo博客之前,首先需要简单在你电脑安装一些工具以及依赖包…

大型网站架构演变和知识体系

之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么…

【Python 爬虫 CASE】使用Selenium+BeautifulSoup获取新闻网站文章列表

一、需求 获取腾讯新闻网站(https://news.qq.com/)首页的新闻标题和列表 F12打开开发者工具,查看源代码 二、实现 Step1:获取网页源代码 如果使用requests库获取源代码 import requests res requests.get(http://news.qq.com/)但是这种方式获取的…

【Python 爬虫 CASE】使用Requests+BeautifulSoup获取新闻网站文章内容并整理成表

一、需求 获取新浪新闻网站(http://news.sina.com.cn/china/)首页的新闻内容 F12打开开发者工具,查看源代码 打开新闻链接,获取该新闻文章的“内容”、“标题”、“来源” F12打开开发者工具,查看源代码 二、实现 Step1:构建…

Magento开发教程 - 后台设置多个网站,商店和商店视图

1: 创建产品根目录 登录到Magento 2后台.点击 Products > Categories.点击 Add Root Category.在 Category Name 输入分类名称. 确保 Enable Category 设置 Yes. 如下图: 点击 Save. 2: 创建 websites(网站) 点击 Stores > 设置 >…

visual studio 2010教程-创建网站项目

1.打开visual studio 2010 选择新建 - 网站 2.进行对应的设置 3.创建完毕之后,在解决方案资源管理器中出现对应的项目 4.在项目名称上 右键 - 添加新项 5.选择web窗体,并命名新建的页面为index.aspx 6.创建完毕之后的工程 7.首页的源代码如下 8.接下来…