最新大型网站技术架构探讨.ppt

上传人:wuy****n92 文档编号:64733794 上传时间:2022-12-01 格式:PPT 页数:33 大小:2.88MB
返回 下载 相关 举报
最新大型网站技术架构探讨.ppt_第1页
第1页 / 共33页
最新大型网站技术架构探讨.ppt_第2页
第2页 / 共33页
点击查看更多>>
资源描述

《最新大型网站技术架构探讨.ppt》由会员分享,可在线阅读,更多相关《最新大型网站技术架构探讨.ppt(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、CE v6.3BeetleSoft“大型”网站技术架构探讨 余浩东 2011年6月 BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 2 2 大型网站架构的目标与挑战网站架构演变及其技术脉络架构设计理论与原则讨论及总结BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 3 3 大型网站架构的目标与挑战何谓“大型”网站?没有统一的判断标准,流量大小是一个重要指标日均流量至少IP1,000,000才算大型网站BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 4 4 大型网站架构的目标与挑战何谓“大型

2、”网站?网站内容是否“动态”才是关键BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 5 5 大型网站架构的目标与挑战网站架构目标与挑战 每个目标背后面临着技术、设计、维护等诸多方面的挑战。而目标本身的期望值也会根据实际情况进行调整,这也意味着网站架构建设是个不断调整的过程。负载均衡数据备份异地容灾。高速缓存并行计算异地镜像。开发框架多层设计业务分割。BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 6 6 大型网站架构的目标与挑战网站架构演变及其技术脉络架构设计理论与原则讨论及总结BeetleSoftBeetleSoft 大

3、型网站技术架构探讨大型网站技术架构探讨 7 7 网站架构演变及其技术脉络Step1Web动静态资源分离及其与DB物理分离n优点:“简单”、安全性提高n缺点:存在单点,谈不上高可用性(high availability架构目标)n技术点:应用设计要保证可扩展(framework很重要Spring/Beetle)、Web Server动/静态资源分离Web Server(ApacheNginxIISJBoss)、Database Server(MysqlOracleRedis)BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 8 8 Step1技术点Web动静态资

4、源分离img,doc,js,css等静态资源使用单独的Web HTTP Server处理请求动态页面静态化处理网站架构演变及其技术脉络BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 9 9 Step2采取缓存处理n优点:简单有效、维护方便n缺点:依然存在单点n技术点:客户端(浏览器)缓存、前端页面缓存、页面片段缓存、本地数据缓存/数据库缓存网站架构演变及其技术脉络减少对网站的访问减少对Web应用服务器的请求减少对数据库的查询减少文件系统I/O操作BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 1010 Step2技术点客户

5、端(浏览器)缓存能够让浏览器缓存的数据一定要缓存;浏览器能够处理的运算,决不放在服务器端来处理。网站架构演变及其技术脉络BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 1111 Step2技术点前端页面缓存采用具备缓存功能的http反向代理服务器作前端页面缓存器,VarnishSquidNcacheAiCache(商业)【硬件F5】网站架构演变及其技术脉络BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 1212 Step2技术点页面片段缓存ESI(Edge Side Includes)ESI需要服务器端支持,常见apach

6、e(mod_esi)、WebLogic、JSP标签库(JESI)等。网站架构演变及其技术脉络BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 1313 Step2技术点本地数据缓存需要从数据库系统和Web应用服务器两个层面考虑缓存优化网站架构演变及其技术脉络BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 1414 Step3增加机器做HA、数据库读写分离网站架构演变及其技术脉络n优点:增加服务器和HA机制,系统性能及可用性得到保证n缺点:读写分离,增加程序难度,架构变复杂,维护难度增加n技术点:负载均衡、DAL、数据库读写分

7、离BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 1515 Step3技术点负载均衡网站架构演变及其技术脉络BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 1616 Step3技术点数据库读写分离及DAL网站架构演变及其技术脉络读写分离逻辑分批负载均衡失效转移(failover)数据库分区透明支持两大实现模式:独立Proxy服务器;单独API库文件各个数据库厂商都有自己复制方案常见通用方案:ETL、GoldenGateTJSBeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 1717 Ste

8、p4CDN、分布式缓存、分库网站架构演变及其技术脉络n优点:异地缓存有效解决不同地方用户访问过慢的问题;分库策略带来网站性能整体提升n缺点:成本大幅增加,架构进一步复杂化,也维护难度进一步增大,架构开始臃肿了n技术点:CDN、分布式缓存、Shard分库BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 1818 Step4技术点CDN网站架构演变及其技术脉络nCDN(Content Delivery Network)内容分发网络n将网站的内容分发到最接近用户的网络“边缘”,使用户可以就近获取,从而解决互联网网络拥挤的状况,提高用户访问的响应速度。n适合静态内容很

9、多(如:静态页面、图片、视频等)及页面内容实时性要求不高的网站,如:新闻类门户网站nCDN构建可以做的很简单,也可以很复杂,主要根据自己网站实际情况而定BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 1919 Step4技术点分布式缓存网站架构演变及其技术脉络n本地缓存性能优秀,但容量有限,无伸缩性n采用分布式缓存方案突破容量限制,具备良好伸缩性;但分布式涉及远程网络通信消耗其性能本地缓存来得优秀,并可涉及节点状态维护及数据复制问题,其稳定性和可靠性是个挑战。n目前流行分布式缓存方案:memcached、membase、redis等,基本上当前的NoSQL方

10、案都可以用来做分布式缓存方案BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 2020 Step4技术点分库网站架构演变及其技术脉络n读写分离(简单有效,前面已介绍)n垂直分区良好的松耦合的模块化设计是垂直分库的前提BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 2121 Step4技术点分库网站架构演变及其技术脉络n水平分区(Shard)分片Key识别(划分检索依据)是关键是否还有其它招?用NoSql数据库部分替换关系数据库BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 2222 Ste

11、p5多个数据中心,向分布式存储和计算的架构体系迈进网站架构演变及其技术脉络n优点:多数据中心,带来更高质量区域服务体验;分布式存储及计算架构有效解决pb级数据量存储、检索及计算性能问题n缺点:架构复杂、数据同步、一致性及系统维护、技能要求等成本十分高n技术点:分布式文件系统、Map/Reduce、Key-Value存储BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 2323 Step5技术点向分布式存储计算解决方案DFS、Map/Reduce、Key-Value DB网站架构演变及其技术脉络nDFS分布式文件系统,如:LustreHDFSGFSTFSFree

12、Nas等nMap/Reduce算法(计算框架),基本上现有NoSQL数据库中都支持此算法。nKey-Value DB,也作为NoSQL解决方案,如:BigTableTairHbase HyperTable等n提供完整解决方案:Google(GFS|Map/Reduce|BigTable)Apache Hadoop(HDFS|Map/Reduce|HBase)BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 2424 大型网站架构的目标与挑战网站架构演变及其技术脉络架构设计理论与原则讨论及总结BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站

13、技术架构探讨 2525 架构设计理论与原则网站架构设计的精神食粮网站架构设计的精神食粮BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 2626 架构设计理论与原则关于数据一致性ACID vs BASE nACID(Atomicity、Consistency、Isolation、Durability)是关系型数据库的最基本原则,遵循ACID原则强调一致性,对成本要求很高,对性能影响很大。n问题:ACID原则适用于互联网应用吗?可用性似乎比一致性重要些nBASE(Basically Available、Soft state、Eventually consiste

14、nt)策略BASE策略与ACID不同,其基本思想就是通过牺牲强一致性,以获得更好的可用性或可靠性基本可用数据能够保证80%一致性就够了,剩下20%就不要过于纠结了。可参考八二定律软状态在不过分追求数据一致性(强一致性)前提下可考虑软状态策略,例如把数据缓存(State)在客户端一段时间,过后若没有新请求的话,就清除此缓存(Soft)最终一致性在某一段短时间内允许数据不一致,但经过一段较长时间,等所有节点上数据的拷贝都整合在一起的时候,数据会最终达到完全一致BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 2727 架构设计理论与原则关于分布式系统CAP理论 一

15、致性分布式系统中,数据一般会存储在不同节点,一致性就是要保证对数据操作的原子性可用性确保客户访问数据时可得到响应。不强调各个节点上数据要保持一致性。分区容忍性数据分区存储后,即使部分分区组件不可用,其施加的操作也能够完成CAP理论指出:一个分布式系统不可能同时满足一致性、可用性和分区容忍性这三项需求,最多只能同时满足其中两个。BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 2828 架构设计理论与原则无共享架构(Share Nothing Architecture)BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 2929

16、架构设计理论与原则ED-SOA架构 nED-SOA,事件驱动,面向服务架构nSOA是系统组件化、模块化构建性理论;ED是系统组件之间同步通信,采取事件机制异步化,提高响应速度n基于ED-SOA构建松耦合系统可以显著改善网站可伸缩性架构进化与退化-奥卡姆剃刀原理n进化寻找最适合的;退化简化不必要的n简单就好,慎防过渡设计BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 3030 架构设计理论与原则考量成本,先硬后软原则 BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 3131 大型网站架构的目标与挑战网站架构演变及其技术脉络架构设计理论与原则讨论及总结BeetleSoftBeetleSoft 大型网站技术架构探讨大型网站技术架构探讨 3232 讨论及总结大型网站架构是怎么样子的?存在万能的架构吗?架构本质是什么?网站架构如何选型?开发语言重要吗?架构只是浮云?神马才是重要的?。CE v6.3BeetleSoftThank you!-Q&A

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁