首先列出了网站架构关注的一些要点,包括:
再播报一组优酷的数据:
- 用户数:4000万
- 视频数:2000万
- PV:1.3亿
- VV:1.6亿
主要采用的也都是一些非常常见,成熟的软件和操作系统
包括:centos/LVS/PHP
采用简单的方式对URL进行规划:
http://domain/modules/method/params/
举例:
http://www.youku.com/playlist_showlist/t2d1c123.html 资讯频道的豆单列表页面
http://www.youku.com/playlist_show/id_3219807.html 某个豆单的浏览页面
http://v.youku.com/v_playlist/f3220308o1p0.html 豆单中某个视频的播放页面
优酷每周规定周二固定时间进行发布(这样可以简化一些发布上线的流程)
通过自建的CMS解决了大部分的页面的内容维护和生成的问题。
缓存的设计
缓存黄金原则:让数据更靠近 CPU
。
CPU-->CPU 一级缓存-->二级缓存-->内存-->硬盘-->LAN-->WAN
讲到了 Youku 自己的内部项目,针对大文件缓存的。
目前开源软件中,Squid 的 write() 用户进程空间有消耗,(这个需要看源码才能看到)
Lighttpd1.5 的 AIO(异步I/O) 读取文件到用户内存导致效率也比较低下。
Youku不用内存做缓存(避免内存拷贝,避免内存锁)。(优酷应该也用了不少memcached)
值得注意的是,缓存技术容易被滥用,也有副作用,比如接到老大通知要把某个视频撤下来,如果在缓存里是比较麻烦的。
MySQL数据库的优化
曾经也考虑过使用数据库中间层来解决数据库的问题,但是考虑的方案比较复杂不够简单,所以放弃。(简单最重要)
数据库采用水平扩展,主从复制,随着从数据库的增多,复制延迟越来越厉害,最终无法忍受。
最终还是采用数据库的sharding,把一组用户相关的表和数据放到一组数据库上。
使用SSD来优化mysql的I/O,性能提升明显,每块16G,6块SSD做RAID。
数据库的类型选用MYISAM
数据库的拆分策略,先纵向按照业务或者模块拆分。对于一些特别大的表,再采用垂直拆分
根据用户进行分片,尽可能不要跨篇查询。如果确实要跨片查询,可以考虑搜索的方案,先索引再搜索。
分布式的数据库方案太复杂,否掉。
网络服务器优化
如果要优化服务器的性能,必须对Libevent
非常熟悉,因为常见的memcached/squid/lighttpd等都有用到。确实很重要。
libevent封装了epoll/kqueue
视频的去重方案:md5和视频指纹。
关键的业务要自己来做。
分享到:
相关推荐
1搭建一个大型网站架构的实验环境(虚拟机篇) .pdf 2搭建一个大型网站架构的实验环境(FreeBSD系统安装篇).pdf 3搭建一个大型网站架构的实验环境(FreeBSD系统设置篇) .pdf 4搭建一个大型网站架构的实验环境...
大型网站技术架构书籍大型网站技术架构书籍大型网站技术架构书籍大型网站技术架构书籍大型网站技术架构书籍
《大型网站技术架构:核心原理与案例分析》通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、...
大型分布式网站架构设计与实践.pdf <br/>《大型分布式网站架构设计与实践》主要介绍了大型分布式网站架构所涉及的一些技术细节,包括SOA架构的实现、互联网安全架构、构建分布式网站所依赖的基础设施、系统稳定...
《大型网站技术架构:核心原理与案例分析》通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、...
《大型网站技术架构演进与性能优化》这本书深入探讨了互联网行业中大型网站在技术架构上的发展路径和性能优化策略。随着互联网的飞速发展,大型网站的架构设计和性能优化成为了决定企业竞争力的关键因素。本篇文章将...
在这个演变之路上,网站架构师需要考虑的关键因素包括服务器的可伸缩性、系统的高可用性、数据的一致性与安全性,以及处理高并发请求的能力等。 初期阶段,单台服务器部署是最常见的起点,此时网站访问量小,硬件...
这篇内容我们将深入探讨大型网站架构的演变历程及其知识体系。 首先,我们从最基础的单体架构开始。早期的网站往往采用单体架构,所有的业务逻辑、数据访问、用户界面等都在一个项目中,开发和部署相对简单。但随着...
本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布...
在IT行业中,大型网站架构是构建可扩展、高可用、高性能和高安全性的网络应用程序的关键。这个主题涵盖了许多技术和策略,旨在处理大量并发用户、大数据量以及复杂的业务逻辑。本案例将深入探讨一些核心概念和实践,...
大型网站架构之分布式消息队列,讲述了网站架构中的消息处理问题
程序员进阶架构师必看资料,了解当今性能最好的,支撑上亿在线用户的,互联网应用是怎么架构起来的
大型网站技术架构:核心原理与案例分析 本书作者是阿里巴巴网站构建的亲历者,拥有核心技术部门的一线工作经验,直接体验了大型网站构建与发展过程中的种种生与死,蜕与变,见证了一个网站架构从幼稚走向成熟稳定的...
《大型分布式网站架构设计与实践》主要介绍了大型分布式网站架构所涉及的一些技术细节,包括SOA架构的实现、互联网安全架构、构建分布式网站所依赖的基础设施、系统稳定性保障和海量数据分析等内容;深入地讲述了...
《大型分布式网站架构设计与实践》主要介绍了大型分布式网站架构所涉及的一些技术细节,包括SOA架构的实现、互联网安全架构、构建分布式网站所依赖的基础设施、系统稳定性保障和海量数据分析等内容;深入地讲述了...
根据提供的文件信息,我们可以推断出这份文档主要讨论的是“大型分布式网站架构设计”的相关内容,并且提供了一个百度云的下载链接。接下来,我们将基于这些信息深入探讨与大型分布式网站架构设计相关的几个关键知识...
《大型分布式网站架构设计与实践》主要介绍了大型分布式网站架构所涉及的一些技术细节,包括SOA架构的实现、互联网安全架构、构建分布式网站所依赖的基础设施、系统稳定性保障和海量数据分析等内容;深入地讲述了...
《大型分布式网站架构设计与实践》主要介绍了大型分布式网站架构所涉及的一些技术细节,包括SOA架构的实现、互联网安全架构、构建分布式网站所依赖的基础设施、系统稳定性保障和海量数据分析等内容;深入地讲述了...