(精品)最新大型网站技术架构探讨.ppt
《(精品)最新大型网站技术架构探讨.ppt》由会员分享,可在线阅读,更多相关《(精品)最新大型网站技术架构探讨.ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、CE v6.3BeetleSoft“大型”网站技术架构探讨 余浩东 2011年6月 BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 2 2 大型网站架构的目标与挑战网站架构演变及其技术脉络架构设计理论与原则讨论及总结BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 3 3 大型网站架构的目标与挑战何谓“大型”网站?网站日均流量IP/PVIP 5,972,587 PV 9,376,IP229,680,000 PV2,955,981,IP25,680,000 PV222,132,IP5,532,000 PV25,723,IP30
2、0,000 PV747,000没有统一的判断标准,流量大小是一个重要指标日均流量至少IP1,000,000才算大型网站BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 4 4 大型网站架构的目标与挑战何谓“大型”网站?网站内容是否“动态”才是关键BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 5 5 大型网站架构的目标与挑战网站架构目标与挑战 每个目标背后面临着技术、设计、维护等诸多方面的挑战。而目标本身的期望值也会根据实际情况进行调整,这也意味着网站架构建设是个不断调整的过程。负载均衡数据备份异地容灾。高速缓存并行计算异地
3、镜像。开发框架多层设计业务分割。BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 6 6 大型网站架构的目标与挑战网站架构演变及其技术脉络架构设计理论与原则讨论及总结BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 7 7 网站架构演变及其技术脉络Step1Web动静态资源分离及其与DB物理分离n优点:“简单”、安全性提高n缺点:存在单点,谈不上高可用性(high availability架构目标)n技术点:应用设计要保证可扩展(framework很重要Spring/Beetle)、Web Server动/静态资源分离Web
4、Server(ApacheNginxIISJBoss)、Database Server(MysqlOracleRedis)BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 8 8 Step1技术点Web动静态资源分离img,doc,js,css等静态资源使用单独的Web HTTP Server处理请求动态页面静态化处理网站架构演变及其技术脉络BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 9 9 Step2采取缓存处理n优点:简单有效、维护方便n缺点:依然存在单点n技术点:客户端(浏览器)缓存、前端页面缓存、页面片段缓存、本
5、地数据缓存/数据库缓存网站架构演变及其技术脉络减少对网站的访问减少对Web应用服务器的请求减少对数据库的查询减少文件系统I/O操作BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 1010 Step2技术点客户端(浏览器)缓存技术点说明根据HTTP协议特性,修改Header参数(Cache-Control、Expires、Pragma、Last-Modified、Etag),让浏览器来缓存页面(一些优秀开发框架会对此做透明的封装,例如:Beetle)http:/www.w3.org/Protocols/rfc2616/rfc2616-sec14.html使用H
6、TTP1.1协议,由于http pipelining技术特性,能够使用get请求的决不采取post请求为了节约带宽,压缩页面(Content-Encoding:gzip);页面各个元素能“小”即“小”,例如:js包压缩,js合并,图片压缩等会话状态信息采取Cookie代替传统使用服务器Sessions对象存储习惯做法;使用Ajax实现页面局部刷新如果可能,可采取浏览器插件技术突破浏览器功能限制,将原本在服务器端运算,尽量迁到浏览器端。ActiveX/Applet/Flash/.HTML5 最值得期待,她的出现必定改变整个Web世界能够让浏览器缓存的数据一定要缓存;浏览器能够处理的运算,决不放在
7、服务器端来处理。网站架构演变及其技术脉络BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 1111 Step2技术点前端页面缓存采用具备缓存功能的http反向代理服务器作前端页面缓存器,VarnishSquidNcacheAiCache(商业)【硬件F5】网站架构演变及其技术脉络BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 1212 Step2技术点页面片段缓存ESI(Edge Side Includes)ESI需要服务器端支持,常见apache(mod_esi)、WebLogic、JSP标签库(JESI)等。网站架构演变
8、及其技术脉络BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 1313 Step2技术点本地数据缓存需要从数据库系统和Web应用服务器两个层面考虑缓存优化网站架构演变及其技术脉络技术点说明关系数据库系统(如:OracleMySql)Query Cache策略:一般以sql为key来缓存查询结果,尽量不要拼sql,使用PreparedStatement的“?”模式sql;Query Cache大小要根据数据库系统具体情况合理设置,过大只会浪费内存,参考值:128M关系数据库系统Data Buffer策略:就是数据库数据内存缓存器,其访问命中率决定数据库性能,可根
9、据实际物理内存大小适量增大,如:MySql建议buffer值为物理内存60-80%应用服务器Cache包括:对象缓存(例如:对象线程安全,做成单例),更新频率不大数据考虑缓存(如:基表数据、配置文件信息),考虑使用线程池,对象池,连接池等常见java解决方案:mapOSCacheEHCache等BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 1414 Step3增加机器做HA、数据库读写分离网站架构演变及其技术脉络n优点:增加服务器和HA机制,系统性能及可用性得到保证n缺点:读写分离,增加程序难度,架构变复杂,维护难度增加n技术点:负载均衡、DAL、数据库读
10、写分离BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 1515 Step3技术点负载均衡网站架构演变及其技术脉络类型说明DNS负载均衡实现简单、有Cache缺乏灵活性,但对分区域(如构建CDN方案)访问简单有效反向代理软件HAProxy、Nginx、Apache、Lighttpd等硬件产品F5、NetScaler等LVS(Linux Virtual Server)http:/www.linuxvirtualserver.org/SMART Client自己写代码某些情况下简单有效BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 最新 大型 网站 技术 架构 探讨
限制150内