




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
19张图带你梳理SpringCloud体系中的重要技术点!1、什么是微服务1.1、架构演进架构的发展历程是从单体式架构,到分布式架构,到SOA架构,再到微服务架构。图1:架构演进单体架构:未做任何拆分的JavaWeb程序图2:单体架构示意图分布式架构:按照业务垂直划分,每个业务都是单体架构,通过API互相调用。图3:分布式架构示意图SOA架构:SOA是一种面向服务的架构。其应用程序的不同组件通过网络上的通信协议向其它组件提供服务或消费服务,所以也是分布式架构的一种。图4:SOA架构示意图1.2、微服务架构微服务架构在某种程度上是SOA架构的进一步的发展。微服务目前并没有比较官方的定义。微服务Microservices之父,马丁.福勒,对微服务大概的概述如下:就目前而言,对于微服务业界并没有一个统一的、标准的定义(Whilethereisnoprecisedefinitionofthisarchitecturalstyle)。但通常在其而言,微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分成一组小的服务,每个服务运行独立的自己的进程中,服务之间互相协调、互相配合,为用户提供最终价值。服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTfulAPI)。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建,可以有一个非常轻量级的集中式管理来协调这些服务。可以使用不同的语言来编写服务,也可以使用不同的数据存储。图5:微服务定义思维导图图6:微服务架构示意图1.3、微服务解决方案目前最流行的两种微服务解决方案是SpringCloud和Dubbo。2、SpringCloud概览2.1、什么是SpringCloudSpringCloud作为Java言的微服务框架,它依赖于SpringBoot,有快速开发、持续交付和容易部署等特点。SpringCloud的组件非常多,涉及微服务的方方面面,井在开源社区Spring、NetflixPivotal两大公司的推动下越来越完善。SpringCloud是一系列组件的有机集合。图7:SpringCloud技术体系图8:SpringCloud技术体系思维导图搜索公众号后端架构师后台回复“架构整洁”,获取一份惊喜礼包。2.1、SpringCloud主要组件2.1.1、EurekaNetflixEureka是由Netflix开源的一款基于REST的服务发现组件,包括EurekaServer及EurekaClient。2.1.2、RibbonRibbonNetflix公司开源的一个负载均衡的组件。2.1.3、FeignFeign是是一个声明式的WebService客户端。2.1.4、HystrixHystrix是Netstflix公司开源的一个项目,它提供了熔断器功能,能够阻止分布式系统中出现联动故障。2.1.5、ZuulZuul是由Netflix孵化的一个致力于“网关“解决方案的开源组件。2.1.6、GatewaySpringCloudGateway是Spring官方基于Spring5.0、SpringBoot2.0和ProjectReactor等技术开发的网关,SpringCloudGateway旨在为微服务架构提供简单、有效且统一的API路由管理方式。2.1.7、ConfigSpringCloud中提供了分布式配置中SpringCloudConfig,为外部配置提供了客户端和服务器端的支持。2.1.8、Bus使用SpringCloudBus,可以非常容易地搭建起消息总线。2.1.9、OAuth2SprinCloud构建的微服务系统中可以使用SpringCloudOAuth2来保护微服务系统。2.1.10、SleuthSpringCloudSleuth是SpringCloud个组件,它的主要功能是在分布式系统中提供服务链路追踪的解决方案。3、总结本文中对架构的演进及SpringCloud构建微服务的基本组件进行了概览。博主水平有限,如有错漏,欢迎指出!参考:【1】:朱荣鑫、张天、黄迪璇编著《SpringCloud微服务架构进阶》【2】:翟永超著《SpringCloud微服务实战》【3】:许进等著《重新
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45223-2025电力厂站低压用电系统信息架构及接口技术规范
- 合肥小型商铺出租合同样本
- 公司并购合同管理与风险防范
- 心理康复师实习劳动合同
- 设计师合作开发合同模板专业版
- 标准版劳动合同范本合同
- 国际仓储业务合作合同范本
- 度中国员工境外工作劳务合同
- 供应链合作协议合同法全文
- 中小学教师职务合同范本
- 部编版语文八年级下册第六单元名著导读《钢铁是怎样炼成的》问答题 (含答案)
- 小学数学计算能力大赛实施方案
- 古诗词诵读《虞美人》课件-统编版高中语文必修上册
- 文物学概论-中国古代青铜器(上)
- 制作拉线课件
- 中华人民共和国文物保护单位登记表
- 不符合项和纠正措施记录表
- DBJ∕T13-354-2021 既有房屋结构安全隐患排查技术标准
- 温室大棚、花卉苗圃采暖方案(空气源热泵)
- 部编人教版五年级下册道德与法治全册知识点整理归纳
- 绘本阅读《铁丝网上的小花》
评论
0/150
提交评论