大型互联网相关技术教程范本.pptx

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大型互联网相关技术 目录 网站架构发展历史 负载均衡 CDN 分布式缓存 分布式数据库 服务化 消息队列 一、最开始的网站架构 最初的架构,应用程序、数据库、文件都部署在一台服务器上 二、应用、数据、文件分离 随着业务的扩展,一台服务器已经不能满足性能需求,故将应用程序、数据库、文件各自部署在独立的服务器上,并且根据服务器的用途配置不同的硬件,达到最佳的性能效果。 三、利用缓存改善网站性能 使用缓存主要源于热点数据的存在,大部分网站访问都遵循28原则(即80%的访问请求,最终落在20%的数据上),所以我们可以对热点数据进行缓存,减少这些数据的访问路径,提高用户体验。 四、使用集群改善应用服务器性能 提高系统的吞吐量 提高系统的高可用 五、数据库读写分离和分库分表 随着用户量的增加,数据库成为最大的瓶颈,改善数据库性能常用的手段是进行读写分离以及分库分表,读写分离顾名思义就是将数据库分为读库和写库,通过主备功能实现数据同步。分库分表则分为水平切分和垂直切分,水平切分则是对一个数据库特大的表进行拆分,例如用户表。垂直切分则是根据业务的不同来切分,如用户业务、商品业务相关的表放在不同的数据库中。 六、使用CDN和反向代理提高网站性能 七、使用分布式文件系统 八、使用NoSql和搜索引擎 九、搭建分布式服务(服务化) 负载均衡 应用集群:将同一应用部署到多台机器上,组成处理集群,接收负载均衡设备分发的请求,进行处理,并返回相应数据。提高系统的高可用和吞吐量。 负载均衡设备:将用户访问的请求,根据负载均衡算法,分发到集群中的一台处理服务器。(一种把网络请求分散到一个服务器集群中的可用服务器上去的设备) 负载均衡实现技术 DNS轮询 http重定向 LVS DR IP隧道 NAT 七层(nginx) 硬件 DNS负载均衡 缺点 DNS并不能保证返回的地址均匀的落在每台服务器上。 DNS服务器并不一定缓存了全部的服务器地址 如果一台web服务器宕机,那DNS返回这个地址的请求全部失败。 每次变更服务器需要变更DNS,非常麻烦。DNS生效还需要一段时间。 DNS并不一定对服务器地址进行轮询返回。 为了安全,web服务器部署在内网内,外部不能直接访问。 大型网站总是部分使用DNS解析,作为第一级负载均衡。 将DNS作为第一级负载均衡,A记录对应着内部负载均衡的IP地址,通过内部负载均衡将请求分发到真实的Web服务器上。 DNS能根据地域返回就近的服务器地址。 http重定向 缺点: HTTP重定向服务器不能存在单点,最少需要两台才能高可用。那么HTTP重定向服务器也需要负载均衡设备。 效率很低下 当变更服务器集群的时候,需要通知到HTTP重定向服务器。 不要使用这种方式进行负载均衡。 LVS(NAT) 负载均衡策略 轮询 将所有请求,依次分发到每台服务器上,适合服务器硬件同相同的场景。 优点:服务器请求数目相同。 缺点:服务器压力不一样,不适合服务器配置不同的情况。 随机 请求随机分配到各个服务器。 优点:使用简单。 缺点:不适合机器配置不同的场景。 最少链接 将请求分配到连接数最少的服务器(目前处理请求最少的服务器)。 优点:根据服务器当前的请求处理情况,动态分配。 缺点:算法实现相对复杂,需要监控服务器请求连接数。 负载均衡策略 Hash(源地址散列) 根据IP地址进行Hash计算,得到IP地址。 优点:将来自同一IP地址的请求,同一会话期内,转发到相同的服务器;实现会话粘滞。 缺点:目标服务器宕机后,会话会丢失。 加权 在轮询,随机,最少链接,Hash’等算法的基础上,通过加权的方式,进行负载服务器分配。 优点:根据权重,调节转发服务器的请求数目。 缺点:使用相对复杂。 LVS(DR) LVS(TUN) 硬件 F5 支持4层和7层负载均衡以及多种优化技术 价格昂贵 Nginx Nginx(“engine x”) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。 Nginx使用更少的资源,支持更多的并发连接,体现更高的效率,能够支持高达 50,000个并发连接数的响应。Nginx使用epoll and kqueue 作为开发模型。 我们怎么用nginx? nginx处理静态资源,然后将动态资源交给tomcat进行处理。 nginx作为方向代理服务器,nginx进行七层负载均衡。 网络延迟带来的挑战 假设别的国家连接中国的网络很慢,外国人访问含有大量图片的天猫网站,此时网页可能下载不到图片或者下载的速度很慢,怎么办? 解决方案 什么是CDN 内容分发网络(Cloud Delivery Network,简称 CDN)将源站内容分发至全国所有的节点

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档