大型网站及其架构演进过程ppt课件.pptx

上传人:小飞机 文档编号:1408335 上传时间:2022-11-20 格式:PPTX 页数:38 大小:3.27MB
返回 下载 相关 举报
大型网站及其架构演进过程ppt课件.pptx_第1页
第1页 / 共38页
大型网站及其架构演进过程ppt课件.pptx_第2页
第2页 / 共38页
大型网站及其架构演进过程ppt课件.pptx_第3页
第3页 / 共38页
大型网站及其架构演进过程ppt课件.pptx_第4页
第4页 / 共38页
大型网站及其架构演进过程ppt课件.pptx_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《大型网站及其架构演进过程ppt课件.pptx》由会员分享,可在线阅读,更多相关《大型网站及其架构演进过程ppt课件.pptx(38页珍藏版)》请在三一办公上搜索。

1、大型网站及其架构演进过程,什么是大型网站,什么是大型网站,什么是大型网站,什么是大型网站,什么是大型网站,网站是用来访问的,访问量要大,大型网站应该有海量的数据,大型网站应该有复杂业务处理的能力,大型网站的架构演进,利用JAVA技术和单机来构建网站,大型网站的架构演进,利用JAVA技术和单机来构建网站,计算,存储,利用JAVA技术和单机来构建网站,一个单机的交易网站,用户注册用户管理信息维护,商品管理商品展示,创建交易管理交易,单机负载告警,数据库与应用分离,大型网站的架构演进,单机负载告警,数据库与应用分离,用户访问量增加,网站数据量增加,网站响应变慢,系统宕机,数据库与应用分离,应用服务器

2、负载告警,应用服务器走向集群,大型网站的架构演进,应用服务器负载告警,应用服务器走向集群,用户访问量持续增加,应用服务器达到性能瓶颈,应用服务器走向集群,?最终用户访问哪一台服务器?,平衡算法,应用服务器负载告警,应用服务器走向集群,最终用户访问哪一台服务器,引入负载均衡设备,平衡算法设计的好坏直接决定了集群在负载均衡上的表现,设计不好的算法,会导致集群的负载失衡。一般的平衡算法主要任务是决定如何选择下一个集群节点,然后将新的服务请求转发给它。,轮转法,散列法,最少连接法,最低缺失法,加权法,最快响应法,新的问题:session,应用服务器负载告警,应用服务器走向集群,Session问题,问题

3、随即而来会话保存在单机上如果第一次请求访问左边服务器,如果不做处理,无法保障每次请求都落在同一服务器,什么是session,http协议本身无状态,需要基于HTTP协议支持会话状态(session state)的机制,实现WEB服务器从多次单独的HTTP请求中看到“会话”,也就是知道请求来源于那个会话。实现方式:在会话开始时,分配一个唯一会话标识(sessionId),通过Cookie把这个标识告诉浏览器,以后每次请求时,浏览器会带上这个会话标识告诉Web服务器请求属于哪个会话,在Web服务器上,各个会话有独立的存储,保存不同会话的信息。如果遇到禁用Cookie的情况,就把这个会话标识放到UR

4、L参数中。,应用服务器负载告警,应用服务器走向集群,Session问题,Session Sticky,保证同一会话的请求都在同一个Web服务器上处理依赖负载均衡器根据每次请求的会话标识来进行请求转发,缺陷,如果一台Web服务器宕机或重启,会话数据丢失;负载均衡器变成了一个有状态的节点,要讲会话保存到具体Web服务器的映射。和无状态节点相比,内存消耗会更大,容灾麻烦。,应用服务器负载告警,应用服务器走向集群,Session问题,Session Replication,Web服务器之间增加会话数据的同步,保证Web服务器之间Session数据一致,缺陷,同步Session数据造成了网络带宽的开销。

5、每台Web服务器都保存所有的Session数据,如果整个集群的Session数很多的话,每台机器用于保存Session数据的内容占用会很严重,应用服务器负载告警,应用服务器走向集群,Session问题,Session 数据集中存储,把Session数据集中存储起来,不同Web服务器从同样地方获取Session,缺陷,读写Session数据引入了网络操作,故而造成延迟和不稳定性;如果集中存储Session的机器或者集群有问题,会影响应用,应用服务器负载告警,应用服务器走向集群,Session问题,Cookie Based,将Session数据放在Cookie中,然后在Web服务器上从Cookie

6、中生成对应的Session数据,缺陷,Cookie长度限制;安全性;带宽消耗;性能影响;,数据读压力变大,读写分离吧,大型网站的架构演进,数据读压力变大,读写分离吧,随着业务的发展,数据量和访问量持续增长对于大型网站来说,不少业务是读多写少的,问题,数据复制问题;短期的数据不一致问题;应用对于数据源的选择问题,采用数据库作为读库,数据读压力变大,读写分离吧,搜索引擎可以看成是一个读库根据被搜索的数据来构建搜索索引随着被搜索数据的变化,索引也要进行改变,引入搜索引擎作为读库,数据读压力变大,读写分离吧,数据缓存页面缓存,加速数据读取的利器-缓存,Static Map,Memcached,EhCa

7、che,JCache,OsCache,弥补关系型数据库的不足,引入分布式存储系统,大型网站的架构演进,弥补关系型数据库的不足,引入分布式存储系统,分布式存储系统通过集群提供一个高容量,高并发访问,数据冗余容灾的支持。,分布式文件系统,解决文件的存储问题;分布式key-value系统,提供高性能的半结构化的支持;分布式数据库,提供支持大数据、大并发的数据库系统,读写分离后,数据库又遇到新的瓶颈,大型网站的架构演进,读写分离后,数据库又遇瓶颈,专库专用,数据垂直拆分,垂直拆分把数据库中不同的业务数据拆分到不同的数据库中。对数据进行垂直拆分后,解决了把所有业务数据放在一个数据库中的压力问题,并且也可

8、以根据不同业务的特点进行更多优化。,读写分离后,数据库又遇瓶颈,垂直拆分后的单机瓶颈,数据水平拆分,水平拆分某个业务的数据表的数据量或者更新量达到了单个数据库的瓶颈,这时把同一个表的数据拆分到两个数据库中。一旦完成数据的水平拆分,将能够很好地应对数据量及写入量增长的情况。,数据库问题解决后,应用面对的新挑战,大型网站的架构演进,数据库问题解决后,应用面对的新挑战,拆分应用,随着业务的发展,应用的功能会越来越多,应用也会越来越大。需要考虑如何不然应用持续变大,这就需要把应用拆开,从一个应用变为两个甚至多个应用。第一种方式:根据业务的特性将应用拆分第二种方式:按功能拆分,走服务化的路,大型网站的架

9、构演进,走服务化的路,业务功能之间的访问不仅是单机内部的方法调用,还引入远程的服务调用共享的代码不再散落在不同应用中,这些被放在了各个服务中心。数据库的连接也发生了一些变化,把与数据库的交互工作放到了服务中心,让前端的Web应用更加注重与浏览器交互的工作,而不必过多关注业务逻辑。通过服务化,无论前端Web应用还是服务中心,都可以由特定小团队维护。能更好保持稳定性,并能更好控制系统本身发展,消息中间件,大型网站的架构演进,消息中间件,消息中间件是面向消息的系统是在分布式系统中完成消息的发送和接收的基础软件好处是异步和解耦,架构总结,大型网站的架构演进,架构总结,我们的网站变成了什么样?,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号