- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
?
?
WEB架构设计概述
?
?
一、背景知识
1、正向代理与反向代理
2、CDN(Content Delivery Network):内容分发网,基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
二、架构演变
1、初始搭建
??????? 基于框架,运行在Tomcat容器中。文件、数据库、应用程序在一个服务器上。
2、服务分离
??????? 随着用户量上升,单台服务器无法满足系统的负载,可以把应用服务器和数据服务器单独部署,如果有条件也可以把文件服务器单独部署。
3、反向代理
?????? 为了提升服务处理能力,我们在Tomcat容器前加一个代理服务器,比如Nginx、apache也。用户的请求发送给反向代理,然后反向代理把请求转发到后端的服务器。严格意义上来说,Nginx属于web服务器,一般处理静态html、css、js请求,而Tomcat属于web容器,专门处理JSP请求,当然Tomcat也是支持html的,只是效果没有Nginx好而已。
4、动静分离
??????? 基于以上Nginx反向代理,我们还可以实现 动静分离,静态请求如html、css、js等请求交给Nginx处理,动态请求分发给后端Tomcat处理。Nginx 升级到1.9.5+可以开启HTTP/2.0时代,加速网站访问。当然,如果公司不差钱, CDN也是一个不错的选择。
5、服务拆分
????????在这分布式微服务已经普遍流行的年代,其实我们没必要踩过多的坑,就很容易进行拆分。市面上已经有相对比较成熟的技术,比如阿里开源的Dubbo(官方明确表示已经开始维护了),Spring家族的SpringCloud,当然具体如何去实施,无论是技术还是业务方面都要有很好的把控。
(1)Dubbo
(2)SpringCloud
服务发现——Netflix Eureka
客服端负载均衡——Netflix Ribbon
断路器——Netflix Hystrix
服务网关——Netflix Zuul
分布式配置——Spring Cloud Config
(3)微服务与轻量级通信
同步通信和异步通信
远程调用RPC
REST
消息队列
6、持续集成部署
????????服务拆分以后,随着而来的就是持续集成部署,你可能会用到以下工具:Docker、Jenkins、Git、Maven。基本拓扑结构如下所示:
????????整个持续集成平台架构演进到如下图所示:
7、服务集群
????????Linux集群主要分成三大类( 高可用集群, 负载均衡集群,科学计算集群)。其实,我们最常见的也是生产中最常接触到的就是负载均衡集群。
(1)负载均衡实现
DNS负载均衡,一般域名注册商的dns服务器不支持,但博主用的阿里云解析已经支持
四层负载均衡(F5、LVS),工作在TCP协议下
七层负载均衡(Nginx、haproxy),工作在Http协议下
(2)分布式session
????????大家都知道,服务一般分为有状态和无状态,而分布式sessoion就是针对有状态的服务。
8、读写分离
????????MySql主从配置,读写分离并引入中间件,开源的MyCat,阿里的DRDS都是不错的选择。如果是对高可用要求比较高,但是又没有相应的技术保障,建议使用阿里云的RDS或者Redis相关数据库,省事省力又省钱。
9、缓存优化
?????? 引入缓存无非是为了减轻后端数据库服务的压力,防止其罢工。常见的缓存服务有,Ehcache、OsCache、MemCache、Redis,当然这些都是主流经得起考验的缓存技术实现,特别是Redis已大规模运用于分布式集群服务中,并证明了自己优越的性能。
10、消息队列
(1)异步通知:比如短信验证,邮件验证这些非实时反馈性的逻辑操作。
(2)流量削锋:应该是消息队列中的常用场景,一般在秒杀或团抢活动中使用广泛。
(3)日志处理:系统中日志是必不可少的,但是如何去处理高并发下的日志确是一个技术活,一不小心可能会压垮整个服务。工作中我们常用到的开源日志ELK,为嘛中间会加一个Kafka或者redis就是这么一个道理(一群人涌入和排队进的区别)。
(4)消息通讯:点对点通信(个人对个人)或发布订阅模式(聊天室)。
11、日志服务
????消息队列中提到的ELK开源日志组件对于中小型创业供公
您可能关注的文档
- VLSI数字集成电路设计-CMOS.docx
- VLSI数字集成电路设计-MOS结构.docx
- VLSI数字集成电路设计-互联问题.docx
- VLSI数字集成电路设计-导线.docx
- VLSI数字集成电路设计-时序电路.docx
- VLSI数字集成电路设计-组合逻辑门-第1篇.docx
- VLSI数字集成电路设计-组合逻辑门.docx
- VS生成类图使用详细步骤(类设计器).docx
- Vue+Spring-Boot项目实战:导航栏与图书页面设计.docx
- vue子组件使用父组件样式-如何使用样式化组件重新设计未启动.docx
- 2025AACR十大热门靶点推荐和解读报告52页.docx
- 财务部管理报表.xlsx
- 高中物理新人教版选修3-1课件第二章恒定电流第7节闭合电路欧姆定律.ppt
- 第三单元知识梳理(课件)-三年级语文下册单元复习(部编版).pptx
- 俄罗斯知识点训练课件-七年级地理下学期人教版(2024).pptx
- 课外古诗词诵读龟虽寿-八年级语文上学期课内课件(统编版).pptx
- 高三语文二轮复习课件第七部分实用类文本阅读7.2.1.ppt
- 高考物理人教版一轮复习课件第4章第3讲圆周运动.ppt
- 高考英语一轮复习课件53Lifeinthefuture.ppt
- 2025-2030衣柜行业风险投资发展分析及投资融资策略研究报告.docx
最近下载
- 普法知识宣传.pptx VIP
- 人教版(2024)七年级地理上册教学设计全册.pdf VIP
- 2025年根河市“归雁计划”模拟试卷带答案详解(名师推荐).docx VIP
- 水泥性能与检测.ppt VIP
- 记叙文阅读之记叙顺序课件(共31张ppt) 2025年中考语文一轮复习(全国通用).pptx VIP
- 2024年高考物理试卷(甘肃)(空白卷).pdf VIP
- 农村土地永久互换协议合同.docx VIP
- 2025至2030年中国智能胎教仪市场分析及竞争策略研究报告.docx
- 2025党校入党积极分子发展对象考试题库(含答案).docx VIP
- 人教版高中数学选择性必修二全套教材例题课后习题变式及答案解析.pdf VIP
文档评论(0)