微服务架构概述-创新互联
微服务架构概述
一、架构演变 1.1 单体架构
本文标题:微服务架构概述-创新互联
地址分享:http://abwzjs.com/article/djephi.html
- 一、架构演变
- 1.1 单体架构
- 1.2 分布式架构
- 1.3 微服务
- 二、SpringCloud
- 2.1 简介
- 3.2 痛点
- 三、SpringCloud Alibaba
- 3.1 简介
- 3.2 优点
- 3.3 主要组件
- 3.4 版本对应
一、架构演变 1.1 单体架构
将业务的所有功能集中在一个项目中开发,打成一个包部署。
优点:架构简单,部署成本高。
缺点:耦合度高。
根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,成为一个服务。
优点:降低耦合度,有利于服务升级拓展。
缺点:运营成本增加了,架构复杂难度大。需要考虑的问题变多。
- 服务拆分的粒度
- 服务集群地址的维护
- 服务之间如何实现远程调用
- 服务健康状态的感知
微服务是一种经过良好架构设计的分布式架构方案
,微服务架构特征:
- 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发。面向服务:微服务对外暴露业务接口。
- 自治:团队独立、技术独立、数据独立、部署独立。
- 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题。
微服务技术栈
微服务技术对比
SpringCloud是目前国内使用最广泛的微服务框架。官网地址: https://spring.io/projects/spring-cloud,
SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验:
- SpringCloud部分组件停止维护和更新,给开发带来不便;
- SpringCloud部分环境搭建复杂,没有完善的可视化界面,我们需要大量的二次开发和定制;
- SpringCloud配置复杂,难以上手,部分配置差别难以区分和合理应用。
Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。中文文档:GitHub
依托 Spring Cloud Alibaba,只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。
- 阿里使用过的组件经历了考验,性能强悍,设计合理,现在开源出来大家用;
- 成套的产品搭配完善的可视化界面给开发运维带来极大的便利;
- 搭建简单,学习曲线低。
Sentinel
:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Nacos
:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。RocketMQ
:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。Seata
:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。
- 2022.x分之对应的是 Spring Cloud 2022 与 Spring Boot 3.0.x,最低支持 JDK 17。
- 2021.x 分支对应的是 Spring Cloud 2021 与 Spring Boot 2.6.x,最低支持 JDK 1.8。
- 2020.0 分支对应的是 Spring Cloud 2020 与 Spring Boot 2.4.x,最低支持 JDK 1.8。
- 2.2.x 分支对应的是 Spring Cloud Hoxton 与 Spring Boot 2.2.x,最低支持 JDK 1.8。
- greenwich 分支对应的是 Spring Cloud Greenwich 与 Spring Boot 2.1.x,最低支持 JDK 1.8。
- finchley 分支对应的是 Spring Cloud Finchley 与 Spring Boot 2.0.x,最低支持 JDK 1.8。
- 1.x 分支对应的是 Spring Cloud Edgware 与 Spring Boot 1.x,最低支持 JDK 1.7。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文标题:微服务架构概述-创新互联
地址分享:http://abwzjs.com/article/djephi.html