基础平台 Apache Python Linux(SuSe) MySQL psyco,一个动态的Python到C的编译器 lighttpd代替Apache做视频播放 状态 支持每天超过5亿的视频点击量 由美籍华人陈士骏(生于1978年)创立于2005年2月 于2006年3月达到每天3千万的视频点击量 于2006年7月达到每天1亿的视频点击量 于2016年3月达到每天5亿+的视频点击量 2个系统管理员,2个伸缩性软件架构师 2个软件开发工程师,2个网络工程师,1个DBA以(在2010年左右的人数)…
概述 YouTube 在国内是个404网站,需要翻墙得见,这是有用的废话,先铺垫一下. 从全球网站来看,它仅次于母公司 Google,全球排名位列第2.每天超过5亿以上视频播放量,平均每个用户点击10-15个视频. 就是这样一个巨大型网站,却只有很少的人在维护网站,保证其可用性和可伸缩性. 是什么原因呢?肯定不是Google舍不得花钱建团队,也不能只靠人品,但也不能靠寂寞. 那么到底是什么呢?接下来我们就来了解 YouTube的基础技术架构. 基础平台 Apache Python Linux(S…
大型网站架构演进 大型网站是一种很常见的分布式系统,除了海量数据和高并发的访问量,本身业务和系统也复杂. 大型网站的架构演进 我们现在常用的大型网站都是从小网站一步一步发展起来的,这个过程中会 有一些通用的问题要解决,而这些也是我们构建中间件系统的基础,那么我们就 从最简单的网站结构开始,看看随着网站从小到大的变化,网站架构发生了哪些 变化. a.用Java技术和单机来构建的网站 我们先从最简单的开始吧.说到做网站,不管大家是自己动手实践过,还是听说过,肯定能反应出很多技术名词,例如LAMP.M…
「架构都是演变出来的,没有最好的架构,只有最合适的架构!」最近,滴滴出行平台产品中心 iOS 技术负责人李贤辉接受了 infoQ 的采访,阐述了滴滴的 iOS 客户端架构模式与演变过程.李贤辉也是移动开发精英俱乐部中的一员,所以本期重点推荐了这篇文章. 更多精彩,请看这里,内容系国内 ITOM 管理平台 OneAPM 整理: 滴滴出行 iOS 客户端架构演进之路 成长为 iOS 大 V 的秘密 React Native开源项目-iOS新浪微博客户端 可靠 UDP 传输 精华阅读第8期|Alpha…
  优酷视频网站架构 一.网站基本数据概览据2010年统计,优酷网日均独立访问人数(uv)达到了8900万,日均访问量(pv)更是达到了17亿,优酷凭借这一数据成为google榜单中国内视频网站排名最高的厂商.硬件方面,优酷网引进的戴尔服务器主要以 PowerEdge 1950与PowerEdge 860为主,存储阵列以戴尔MD1000为主,2007的数据表明,优酷网已有1000多台服务器遍布在全国各大省市,现在应该更多了吧.二.网站前端框架从一开始,优酷网就自建了一套CMS来解决前端的页面显示…
阶段一.单机构建网站 网站的初期,我们经常会在单机上跑我们所有的程序和软件.此时我们使用一个容器,如tomcat.jetty.jboos,然后直接使用JSP/servlet技术,或者使用一些开源的框架如maven+spring+struct+hibernate.maven+spring+springmvc+mybatis:最后再选择一个数据库管理系统来存储数据,如mysql.sqlserver.oracle,然后通过JDBC进行数据库的连接和操作. 把以上的所有软件都装载同一台机器上,应用跑起来…
阶段一.单机构建网站 网站的初期,我们经常会在单机上跑我们所有的程序和软件.此时我们使用一个容器,如tomcat.jetty.jboos,然后直接使用JSP/servlet技术,或者使用一些开源的框架如maven+spring+struct+hibernate.maven+spring+springmvc+mybatis:最后再选择一个数据库管理系统来存储数据,如mysql.sqlserver.oracle,然后通过JDBC进行数据库的连接和操作. 把以上的所有软件都装载同一台机器上,应用跑起来…
今天阅读了<大型网站技术架构:核心原理与案例分析>的第五.六.七章.这三张主要是讲述了一个系统的可用性.伸缩性和可扩展性.而根据文中所讲述的,一个系统的可用性主要是体现在这个系统的系统服务不中断运行时间占实际运行时间的比例,系统的伸缩性则是指在不改变系统软硬件设计,仅仅通过新增服务器的情况下,就能提升系统的处理能力,而系统的可扩展性是指该系统适应变化的能力.那么下面我就结合具体的“重大需求征集系统”来谈谈我对这三个性质的了解. 系统的可用性,即是指系统进行连续的高强度的正常运行的时间占系统实际…
参考自<大型网站技术架构>第1~3章 1.大型网站架构演化发展历程 (1)初始阶段的网站架构:一台服务器分别作为应用.数据.文件服务器 (2)应用服务和数据服务分离:三台服务器分别承担上述三项工作,其中应用服务器要求CPU强大.数据库服务器需求更快的硬盘和内存,文件服务器需要较大的硬盘. (3)使用缓存改善网站性能:分为本地缓存以及缓存在专门的分布式服务器上的远程缓存. (4)使用应用服务器集群改善网站的并发处理能力. (5)数据库读写分离. (6)使用反向代理和CDN加速网站响应.二者的基本…
摘要 在详解http报文相关文章中我们介绍了http协议是如何工作的,那么构建一个真实的网站还需要引入组件呢?一些常见的名词到底是什么含义呢? 什么叫正向代理,什么叫反向代理 服务代理与负载均衡的差别 有了nginx,为啥还需要LVS 都有哪些负载均衡的方式 服务端演进 在前面文章中我们介绍过最简单的一种客户端-服务端响应模式,如下 这是http服务最简单的一种形式,服务端就一层web服务器. 现在我们服务端变复杂了,用户数增加了,并发量增加了.对我们服务端要求增加了 服务能力:一台服务器满足不…