01-了解微服务架构的演变过程和微服务技术栈

微服务

微服务架构演变

单体架构:将业务的所有功能集中在一个项目中开发最后打成一个包部署

  • 优点: 架构简单, 部署成本低,适合小型项目
  • 缺点: 耦合度高, 升级维护困难

01-了解微服务架构的演变过程和微服务技术栈_第1张图片

分布式架构:根据业务功能对系统做拆分,每个业务功能模块作为独立项目开发称为一个服务

  • 优点: 降低服务耦合, 有利于服务升级和拓展, 适合大型互联网项目

  • 缺点: 服务调用关系错综复杂,服务拆分时需要制定一套标准约定服务拆分的细粒度,服务之间如何实现远程调用,服务的调用关系如何管理等问题

01-了解微服务架构的演变过程和微服务技术栈_第2张图片

微服务架构: 随着互联网行业的发展对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构(经过良好架构设计的分布式架构方案)

  • 优点:拆分力度更小、服务更独立、耦合度更低
  • 缺点:架构非常复杂,运维、监控、部署难度提高

01-了解微服务架构的演变过程和微服务技术栈_第3张图片

微服务架构方案

微服务的架构特性: 就是在给分布式架构制定一个标准,进一步降低服务之间的耦合度,提供服务的独立性和灵活性, 做到高内聚,低耦合

  • 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责
  • 自治:团队独立、技术独立、数据独立,独立部署和交付
  • 面向服务:服务提供统一标准的接口与语言和技术无关
  • 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题,例如积分服务挂了,不能影响到用户服务等其他服务

人们需要指定一套行之有效的标准来约束分布式架构,而微服务就是一种经过良好架构设计的分布式架构方案,不同厂商提供了不同的架构方案

01-了解微服务架构的演变过程和微服务技术栈_第4张图片

SpringCloud

SpringCloud是目前使用最广泛的微服务架构方案,它集成了各种微服务功能组件并基于SpringBoot实现了组件的自动装配,从而提供了良好的开箱即用体验

功能 组件
微服务注册与发现 Eureka, Nacos, Consul
服务远程调用 OpenFeign, Dubbo
服务链路监控 Zipkin, Sleuth
统一配置管理 SpringCloudConfig, Nacos
统一网关路由 SpringCloudGateway, Zuul
流控、降级、保护 Hystix, Sentinel

SpringCloud底层是依赖于SpringBoot的并且有版本的兼容关系

Release Train Boot Version
2020.0.x aka llford 2.4.x
Hoxton 2.2.x,2.3.x (对应SR5以上的版本)
Greenwich 2.1.x
Finchley 2.0.x
Edgware 1.5.x
Dalston 1.5.X

微服务技术栈

微服务架构在项目中的具体应用

01-了解微服务架构的演变过程和微服务技术栈_第5张图片

微服务架构中涉及到的组件

01-了解微服务架构的演变过程和微服务技术栈_第6张图片

IDEA中微服务的相关设置

在微服务架构中由于模块化的微服务拆分导致模块很多,IDEA为开发者提供的Service界面可以很方便的观察启动模块的端口并方便操作

第一步添加Services窗口:Views -> Tool Windows -> Services

01-了解微服务架构的演变过程和微服务技术栈_第7张图片

第二步添加服务: 刚创建好的窗口是空白的,我们需要选择SpringBoot把服务模块加进去

01-了解微服务架构的演变过程和微服务技术栈_第8张图片

你可能感兴趣的:(SpringCloud,架构,微服务,云原生,Dubbo,SpringCloud,微服务架构)