SpringCloud-系统架构演变过程

前言

系统架构演变过程,单体模式架构->分布式架构->SOA架构->微服务架构

单体模式

单体模式架构也称传统模式架构,单体模式是指所有功能模块全部包含在一个jar包或者war包中,开发简单,维护简单。适用于小型项目。

在这里插入图片描述

单体模式优点
  • 开发简单
  • 维护简单
单体模式缺点
  • 代码耦合度极高。
  • 无法针对不同模块进行针对性优化
  • 无法水平扩展
  • 容错率低,并发能力差

垂直拆分

当系统访问量逐渐加大,单体应用无法满足时,此时为了更高的并发和业务需求,将系统按照模块进行拆分。

在这里插入图片描述

垂直拆分优点
  • 系统拆分实现了流量分担,解决了并发问题
  • 可以针对不同模块进行优化
  • 方便水平扩展,负载均衡,容错率提高
  • 系统间相互独立

容错是指当系统中某一个功能模块出错,不会影响到其他功能模块的使用。

垂直拆分缺点
  • 服务之间相互调用,如果某个服务的端口或者ip地址发生改变,调用的系统得手动改变
  • 搭建集群之后,实现负载均衡比较复杂

分布式服务

当垂直应用越来越多,应用之间交互不可避免,就将核心业务抽取出来,作为独立的服务,逐渐的形成稳定的服务中心,使前端更快速的响应多变的市场需求。

在这里插入图片描述

分布式服务优点
  • 将基础服务进行了抽取,系统间的相互调用,提高了代码的重用性和开发效率。
分布式服务缺点
  • 系统间的耦合度变高,调用关系错综复杂,难以维护。

SOA架构

SOA架构全称为(Services-Oriented-Architectrue),此时需要一个调度中心基于访问的压力实时管理集群容量,提高集群利用率。
在这里插入图片描述

阿里巴巴nn欸不使用的框架:HSF,是dubbo的升级版

SOA架构优点
  • 抽取公共的功能为服务,提高开发效率
  • 对不同的服务进行集群化解决部署解决系统压力
  • 基于ESB/DUBBO减少系统耦合,只能减少耦合,但耦合还是存在的。
SOA架构缺点
  • 抽取服务的粒度较大(比如说用户模块中包含用户信息,用户的账户,用户的详情等等,它做不到更细致化的拆分)
  • 服务提供方与调用方接口耦合度较高

微服务架构

微服务架构概念的诞生主要是为了解决SOA架构中的不足。它可以对服务进行原子化拆分,就是拆分到不能拆分为止,还可以将微服务进行独立的打包运行。它通过轻量级的协议(http协议)对服务提供方和服务调用接口进行了解耦。一个服务只做一件事情,每个服务都会对外开放一个http接口,供前端调用,或者供其他人员调用。
在这里插入图片描述

微服务优点
  • 通过服务的原子化拆分,以及微服务的独立打包、部署和升级,小团队的交付周期将缩短,运维成本也将大幅度降低。
  • 微服务遵循单一原则,微服务之间采用http等轻量协议传输。
微服务缺点
  • 微服务过多,服务治理成本高,不利于系统维护

SOA和微服务的关系

SOA (Services-Oriented-Architectrue)“面向服务的架构”,它是一种涉及方法,其中包含多个服务,服务之间通过相互的依赖最终提供一系列功能,一个服务通常以独立的形式存在于操作系统进程中,各个服务中通过网络调用。

微服务其实和SOA架构类似,微服务是在SOA上做的升华,微服务架构强调的一个重点是业务需要彻底的组件化和服务化,原有的单个业务系统会拆分为多个可以独立开发,设计,运行的小应用,这些小应用之间通过服务完成交互和集成。

功能SOA微服务
组件大小大块业务逻辑单独任务或者小块业务逻辑
耦合通常松耦合总是松耦合
公司架构任何类型小型,专注于功能交叉团队
管理着重中央管理(通过一个SOA框架管理所有服务)着重分散管理
目标确保应用能够交互操作执行新功能,快速拓展开发团队

SOA的服务调用技术基于RPC,微服务基于HTTP

RPC

在这里插入图片描述

服务消费者通过序列化技术将方法、接口、参数等等转换成二进制字节码,通过TCP协议将字节码传输给服务提供者,服务提供者再以相同的方式返回给消费者需要的东西。

HTTP

HTTP调用技术相对简单,只需要服务消费者发送给服务提供者一个请求,再由服务提供者做出相应的返回即可。而HTTP中有一个相对重要的概念就是restful接口。

RESTFUL

REST(Representational State Transfer)如何一个架构符合REST规则,就称它为restful接口。

Rest规则

REST中的资源所指的不是数据,而是数据和表现形式的组合,比如“最新访问的10位会员”和“最活跃的10位会员”在数据上可能有重叠或者完全相同,而由于他们的表现形式不同,所以被归为不同的资源,这也就是为什么REST的全名是Representational State Transfer的原因。资源标识符就是URI(Uniform Resource Identifier),不管是图片,Word还是视频文件,甚至只是一种虚拟的服务,也不管你是XML(标准通用标记语言下的一个子集)格式、txt文件格式还是其它文件格式,全部通过 URI对资源进行唯一的标识。

文尾

文章均为学习阶段记录笔记,若有不妥请留言指正。谢谢!

本文参考 系统架构演变

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值