大型网站技术架构研究.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一篇概述1.架构演化大型网站软件系统特点系统安全,系统测试:Apache jmeter大型网站架构演化发展历程:初始架构--应用和数据分离--使用缓存(本地缓存更快单数据量有限,分布式)--使用集群(负载均衡服务器)--数据库读写分离(主从热备)--使用反向代理(中心机房)和CDN(网络提供商)(缓存原理)--使用分布式文件和数据库系统--使用NOSQL和有哪些信誉好的足球投注网站引擎--业务拆分--分布式服务(应用)驱动网站发展主要力量是网站的业务发展,从小做大,技术是用来解决业务问题的,而业务的问题,也可以通过业务的手段去解决。模式的关键在于模式的可重复性2模式分层(横向)分割(纵向):业务分割分布式(应用和服务、静态资源、数据和存储、计算、配置、锁、文件)集群缓存异步:异步消息队列冗余:服务器冗余运行,数据冗余备份3.要素性能可用性:手段主要是冗余伸缩性:可向集群不断加入服务器,数据库的集群伸缩性在数据库之外实现(路由分区)扩展性:手段是事件驱动(消息队列实现)、分布式服务(将业务和可复用服务分离)安全性:网站不受恶意访问和攻击,数据不被窃取第二篇高性能架构4.瞬时响应:高性能1.性能测试视角指标测试方法2.Web前端性能优化3.应用服务器性能优化4.存储性能5.万无一失:高可用1.可用性度量和考核2.高可用网站架构3.高可用的应用4.高可用的服务5.高可用数据6.高可用网站的软件质量保证7.网站运行监控6.永无止境:伸缩性1.网站架构伸缩性设计1根据功能物理分离;2单一功能集群2.应用服务器集群伸缩性设计1http重定向负载均衡:简单,浏览器需要两次请求才完成一次访问,重定向服务器处理能力是瓶颈,http302响应码重定向,可能判断为SEO作弊2DNS域名解析负载均衡:将负载均衡交给DNS,支持基于地理位置的域名解析,加快访问速度;多级解析,每级都有A,当下线某台,即使修改了A,要使其生效需要较长时间,DNS解析到下线的会使访问失败,而控制权在域名服务商。可做前置的负载均衡3反向代理负载均衡:反向代理需要配置双网卡和内部外部两套IP,也叫应用层负载均衡。优点是和反向代理集成在一起,缺点是反向代理服务器是所有请求中转站,性能成为瓶颈4IP负载均衡:关键在于真是物理Web 服务器响应数据包如何返回给负载均衡服务器,一种是负载均衡服务器修改目的IP地址的同时修改源地址,将源地址设为自身IP,即源地址转换SNAT,另一种是负载均衡服务器同事作为真实物理服务器集群的网关服务器在内核进程完成数据分发,比反向代理处理好,但所有响应都经过负载均衡,受限负载均衡网卡带宽,下载和视频难满足,5数据链路层负载均衡:三角传输模式,分发过程不修改IP,修改MAC,所有机器虚拟IP和负载均衡一致,不修改源地址和目的地址就可以进行数据分发,处理请求服务器IP和请求目的IP一致,不需通过负载均衡转换,数据部直接返回给用户,直接路由方式DR最广负载均衡手段,linux最好产品是LVS6负载均衡算法:1根据负载均衡算法和Web服务器列表计算得到集群中一台服务器地址2将请求数据发送到该地址对应的服务器上轮询:依次分发到每台,处理请求数目相同,使用所有服务器硬件相同场景加权轮询:根据性能,在轮询基础上按配置权重分发请求随机:随机分发请求,可用加权随机算法最少链接:记录链接数,将请求发到最少的服务器上,可用加权最少链接源地址散列:根据请求IP的Hash计算得到应用服务器,同一IP总在同一服务器,上下文可存储在这台服务器,会话周期内重复使用,实现会话粘滞3.分布式缓存集群的伸缩性设计:分布式缓存服务器集群中不同服务器缓存的数据各不相同memcached分布式缓存集群的访问模式Memcached分布式缓存集群的伸缩性挑战分布式缓存的一致性Hash算法4.数据存储服务器集群的伸缩性设计:关系数据库集群的伸缩性设计NoSql数据库的伸缩性设计7.随需应变:可扩展1.构建可扩展的网站架构核心思想是模块化,降低模块间的耦合性,提高模块的复用性2.利用分布式消息队列降低系统耦合性1事件驱动架构:EDA架构分布式消息队列-订阅模式2.分布式消息队列:开源和商业的分布式消息队列ApacheActiveMQ支持ESB(企业服务总线)、SOA(面向服务架构)3.利用分布式服务打造可复用的业务平台1WebService与企业级分布式服务:2大型网站分布式服务的需求和特点:负载均衡;失效转移;高效的远程通信;整合异构系统;对应用最少侵入;版本管理;实时监控。3分布式服务框架设计:SOA面向服务的体系架构:Facebook利用Thrift;阿里巴巴利用Dubbo(支持多种通信协议和数据序列化协议,使用NIO通信框架)4.可扩展的数据结构Google的bigtable最早使用NoSql的ColumnFamil

文档评论(0)

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

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

1亿VIP精品文档

相关文档