初识微服务

1.架构分类



1.单体架构


用大白话来说:就是一个项目里包含了这个项目的所有代码
而专业性地来说:就是将业务的所有功能都集中在一个项目中进行开发,并打包部署。
而单体架构只需要将开发好地项目打包成war包,然后发布到Tomcat服务器中运行即可。

在单体架构项目中,通过Package来区分多个模块:
在这里插入图片描述

优点:

  1. 架构简单,易于开发
  2. 易于部署,生产成本低

缺点:

  1. 耦合度高
    • 可靠性差:一个问题可能会引起整个项目地崩溃。
    • 复杂性差:项目难以修改和重构。
    • 伸缩性差:整体只能横向扩展,无法分模块垂直扩展。
    • 维护成本高:一个功能出现问题,可能会引起另一个功能不可用。
  2. 吞吐量小:tomcat处理的请求的并发量受限

可见,单体架构虽然架构简单,易于部署,但是存在的问题还是很多的。也就是为了解决单体架构存在的问题,才会有分布式架构的横空出世!!!


2.分布式架构

根据业务功能对系统进行拆分,每个业务模块都作为一个独立的工程,称为一个服务。

优点:

  • 与单体架相比,降低了耦合度: 一个功能出现问题,不会影响到其他功能的使用
  • 服务升级扩展强:只需要添加新的模块到项目中即可
  • 吞吐量大:每个服务都有单独的Tomcat和数据库

缺点:

  • 技术要求高
  • 架构更加复杂
  • 生产成本高



2.微服务

微服务是一种经过良好架构设计的分布式架构方案,提倡将单一的应用程序拆分成各个独立的小的服务,服务之间相互协调,相互配合,互不影响

微服务架构的特征:

  1. 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复开发
  2. 面向服务:微服务对外暴露接口
  3. 隔离性强:服务调用做好隔离、容错、降级、避免出现级联问题

优点:

  • 拆分粒度更小,服务更独立,耦合度低

缺点:

  • 架构非常复杂,运维、监控、部署难度提高

1.微服务结构

在国内最知名的就是Springcloud和阿里巴巴的Dubbo,以及后来的SpringCloudAlibaba


微服务技术对比

在这里插入图片描述


2.SpringCloud

  1. SpringCloud是目前国内使用最广泛的微服务框架。官方地址:SpringCloud官网

  2. SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验

SpringCloud和SpringBoot的版本兼容(更新于2022):
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

springboot大神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值