为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

大型网站技术架构探讨

2011-12-07 33页 ppt 3MB 32阅读

用户头像

is_688726

暂无简介

举报
大型网站技术架构探讨null“大型”网站技术架构探讨“大型”网站技术架构探讨 余浩东 2010年8月 null大型网站架构的目标与挑战 网站架构演变及其技术脉络 架构设计理论与原则 讨论及总结 大型网站架构的目标与挑战大型网站架构的目标与挑战■何谓“大型”网站?大型网站架构的目标与挑战大型网站架构的目标与挑战■何谓“大型”网站?大型网站架构的目标与挑战大型网站架构的目标与挑战■网站架构目标与挑战负载均衡 数据备份 异地容灾 。。。高速缓存 并行计算 异地镜像 。。。开发框架 多层设计 业务分割 。。。null大型网站架构的目标与挑战...
大型网站技术架构探讨
null“大型”网站技术架构探讨“大型”网站技术架构探讨 余浩东 2010年8月 null大型网站架构的目标与挑战 网站架构演变及其技术脉络 架构理论与原则 讨论及总结 大型网站架构的目标与挑战大型网站架构的目标与挑战■何谓“大型”网站?大型网站架构的目标与挑战大型网站架构的目标与挑战■何谓“大型”网站?大型网站架构的目标与挑战大型网站架构的目标与挑战■网站架构目标与挑战负载均衡 数据备份 异地容灾 。。。高速缓存 并行计算 异地镜像 。。。开发框架 多层设计 业务分割 。。。null大型网站架构的目标与挑战 网站架构演变及其技术脉络 架构设计理论与原则 讨论及总结 网站架构演变及其技术脉络网站架构演变及其技术脉络■[Step1]Web动静态资源分离及其与DB物理分离优点:“简单”、安全性提高 缺点:存在单点,谈不上高可用性(high availability架构目标) 技术点:应用设计要保证可扩展(framework很重要Spring/Beetle)、Web Server动/静态资源分离 Web Server(Apache\Nginx\IIS\JBoss…)、 Database Server(Mysql\Oracle\Redis…)null■[Step1]技术点—Web动静态资源分离网站架构演变及其技术脉络null■[Step2]采取缓存处理优点:简单有效、维护方便 缺点:依然存在单点 技术点:客户端(浏览器)缓存、前端页面缓存、页面片段缓存、本地数据缓存/数据库缓存网站架构演变及其技术脉络减少对网站的访问减少对Web应用服务器的请求减少对数据库的查询减少文件系统I/O操作null■[Step2]技术点—客户端(浏览器)缓存网站架构演变及其技术脉络null■[Step2]技术点—前端页面缓存网站架构演变及其技术脉络null■[Step2]技术点—页面片段缓存ESI(Edge Side Includes)网站架构演变及其技术脉络null■[Step2]技术点—本地数据缓存网站架构演变及其技术脉络null■[Step3]增加机器做HA、数据库读写分离网站架构演变及其技术脉络优点:增加服务器和HA机制,系统性能及可用性得到保证 缺点:读写分离,增加程序难度,架构变复杂,维护难度增加 技术点:负载均衡、DAL、数据库读写分离null■[Step3]技术点—负载均衡网站架构演变及其技术脉络null■[Step3]技术点—数据库读写分离及DAL网站架构演变及其技术脉络■读写分离逻辑分批 ■负载均衡 ■失效转移(failover) ■数据库分区透明支持 ■两大实现模式:独立Proxy服务器;单独API库文件各个数据库厂商都有自己复制 常见通用方案:ETL、GoldenGate TJS…null■[Step4]CDN、分布式缓存、分库网站架构演变及其技术脉络优点:异地缓存有效解决不同地方用户访问过慢的问题;分库策略带来网站性能整体提升 缺点:成本大幅增加,架构进一步复杂化,也维护难度进一步增大,架构开始臃肿了 技术点:CDN、分布式缓存、Shard分库null■[Step4]技术点—CDN网站架构演变及其技术脉络CDN(Content Delivery Network)内容分发网络 将网站的内容分发到最接近用户的网络“边缘”,使用户可以就近获取,从而解决互联网网络拥挤的状况,提高用户访问的响应速度。 适合静态内容很多(如:静态页面、图片、视频等)及页面内容实时性要求不高的网站,如:新闻类门户网站 CDN构建可以做的很简单,也可以很复杂,主要根据自己网站实际情况而定null■[Step4]技术点—分布式缓存网站架构演变及其技术脉络本地缓存性能优秀,但容量有限,无伸缩性 采用分布式缓存方案突破容量限制,具备良好伸缩性;但分布式涉及远程网络通信消耗其性能本地缓存来得优秀,并可涉及节点状态维护及数据复制问题,其稳定性和可靠性是个挑战。 目前流行分布式缓存方案:memcached、membase、redis等,基本上当前的NoSQL方案都可以用来做分布式缓存方案null■[Step4]技术点—分库网站架构演变及其技术脉络读写分离(简单有效,前面已介绍)垂直分区null■[Step4]技术点—分库网站架构演变及其技术脉络水平分区(Shard)null■[Step5]多个数据中心,向分布式存储和计算的架构体系迈进网站架构演变及其技术脉络优点:多数据中心,带来更高质量区域服务体验;分布式存储及计算架构有效解决pb级数据量存储、检索及计算性能问题 缺点:架构复杂、数据同步、一致性及系统维护、技能要求等成本十分高 技术点:分布式文件系统、Map/Reduce、Key-Value存储null■[Step5]技术点—向分布式存储计算解决方案[DFS、Map/Reduce、Key-Value DB]网站架构演变及其技术脉络DFS分布式文件系统,如:Lustre\HDFS\GFS\TFS\FreeNas等 Map/Reduce算法(计算框架),基本上现有NoSQL数据库中都支持此算法。 Key-Value DB,也作为NoSQL解决方案,如:BigTable\Tair\Hbase\ HyperTable等 提供完整解决方案: Google(GFS|Map/Reduce|BigTable) Apache Hadoop(HDFS|Map/Reduce|HBase) null大型网站架构的目标与挑战 网站架构演变及其技术脉络 架构设计理论与原则 讨论及总结 架构设计理论与原则架构设计理论与原则■网站架构设计的精神食粮架构设计理论与原则架构设计理论与原则■关于数据一致性—ACID vs BASE ACID( Atomicity 、 Consistency 、 Isolation 、 Durability )是关系型数据库的最基本原则,遵循ACID原则强调一致性,对成本要求很高,对性能影响很大。问题:ACID原则适用于互联网应用吗?可用性似乎比一致性重要些BASE( Basically Available 、 Soft state 、 Eventually consistent )策略基本可用 数据能够保证80%一致性就够了,剩下20%就不要过于纠结了。可参考八二定律软状态 在不过分追求数据一致性(强一致性)前提下可考虑软状态策略,例如把数据缓存(State)在客户端一段时间,过后若没有新请求的话,就清除此缓存(Soft)最终一致性 在某一段短时间内允许数据不一致,但经过一段较长时间,等所有节点上数据的拷贝都整合在一起的时候,数据会最终达到完全一致架构设计理论与原则架构设计理论与原则■关于分布式系统—CAP理论 一致性 分布式系统中,数据一般会存储在不同节点,一致性就是要保证对数据操作的原子性可用性 确保客户访问数据时可得到响应。不强调各个节点上数据要保持一致性。分区容忍性 数据分区存储后,即使部分分区组件不可用,其施加的操作也能够完成架构设计理论与原则架构设计理论与原则■无共享架构(Share Nothing Architecture) 架构设计理论与原则架构设计理论与原则■ED-SOA架构 ED-SOA,事件驱动,面向服务架构SOA是系统组件化、模块化构建性理论;ED是系统组件之间同步通信,采取事件机制异步化,提高响应速度基于ED-SOA构建松耦合系统可以显著改善网站可伸缩性■架构进化与退化--奥卡姆剃刀原理进化—寻找最适合的;退化—简化不必要的简单就好,慎防过渡设计架构设计理论与原则架构设计理论与原则■考量成本,先硬后软原则 null大型网站架构的目标与挑战 网站架构演变及其技术脉络 架构设计理论与原则 讨论及总结 讨论及总结讨论及总结■大型网站架构是怎么样子的? ■存在万能的架构吗?架构本质是什么? ■网站架构如何选型?开发语言重要吗? ■架构只是浮云?神马才是重要的?。。。 Thank you!- Q&AThank you!- Q&A余浩东 IT顾问 网站:www.beetlesoft.net 邮箱:yuhaodong@gmail.com
/
本文档为【大型网站技术架构探讨】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索