深入浅出 -- 系统架构之Spring、SpringBoot、SpringCloud的区别

首先我们做技术,尤其是java开发人员,应该对Spring、SpringBoot、SpringCloud 三个家伙一点不陌生。

结合发展史Spring出现的最早,后面为了可以让开发人员偷懒,简化配置,就是约定犹于配置或者说大于,进而出现可SpringBoot,再往后就是要进入SpringCloud时代了。

1、Spring:是一个生态体系(也可以说是技术体系),是集大成者,它包含了Spring Framework、Spring Boot、Spring Cloud等(还包括Spring Cloud data flow、spring data、spring integration、spring batch、spring security、spring hateoas),是一站式的轻量级的java开发框架,核心是控制反转(IOC)和面向切面(AOP),针对于开发的WEB层(springMvc)、业务层(Ioc)、持久层(jdbcTemplate)等都提供了多种配置解决方案;

2、 其实还有一个SpringMvc:是spring基础之上的一个MVC框架,是基于Servlet 的主要解决WEB开发的问题路径映射和视图渲染等;

3、SpringBoot:使用了默认大于配置的理念,集成了快速开发的spring多个插件,同时自动过滤不需要配置的多余的插件,简化了项目的开发配置流程,一定程度上取消xml配置,是一套快速配置开发的脚手架,能快速开发单个微服务;

4、SpringCloud:大部分的功能插件都是基于springBoot去实现的,springCloud关注于全局的微服务整合和管理,将多个springBoot单体微服务进行整合以及管理; springCloud依赖于springBoot开发,而springBoot可以独立开发;

到这里大家也是对这四个家伙有了大致了解,但是,前面有说SpringCloud时代,也是是名声大了去的为更高效的解决大数据,高可用,大并发······等问题的分布式,微服务模式时代!

说到这里我就要谈谈我的个人看法了,首先Spring是核心,然后是SpringBoot,严格意义上来讲这俩是父子关系,是一类,而SpringCloud更像一个由SpringBoot组建起来的一个家庭,用了近两年的SpringCloud慢慢发现其实他的噱头成分越来越大,在当下互联网大环境下,其实SpringCloud只能说是为分布式微服务提供了一套参考方案,可以说不是唯一特有的不可取而代之的

SpringCloud的相关组件:

Spring Cloud Config:它是一个配置中心解决方案,还必须依靠Bus总线,RabbitMQ等实现,配置起来相对复杂,但是数据一致性可靠性还是比较高的,另外携程的apollo、还是百度的disconf,貌似都远比它强大好用的多

Spring Cloud Eureka:他是一个注册中心的组件,同类的可以有ZK,Nacos等;

Spring Cloud Zuul:网关也并不是非Spring Cloud netflix下的zuul不可

···

总而言之,言而总之:

1.在针对性的学习技术上,重点应放在Spring,SpringBoot方向,尤其SpringBoot可以说是当下java web项目的支柱技术;

2.从成本考虑,可分为大小公司,在项目架构色选择上,整体来说采用SpringCloud架构的的项目代价成本相对较高,不管是从开发,还是运维都是这样

3.就算是项目架构采用分布式,微服务,前后端分离,SpringCloud生态模式,也不应该把眼观局限在SpringCloud的极大组件上,可以考虑集成同类的开源的相关组件也不似不错的选择

相关推荐
weixin_SAG5 分钟前
21天掌握javaweb-->第19天:Spring Boot后端优化与部署
java·spring boot·后端
Elcker9 分钟前
KOI技术-事件驱动编程(Sping后端)
java·spring·架构
GitNohup12 分钟前
Spring boot处理跨域问题
java·spring boot·跨域
陌夏微秋28 分钟前
STM32单片机芯片与内部47 STM32 CAN内部架构 介绍
数据库·stm32·单片机·嵌入式硬件·架构·信息与通信
意疏1 小时前
JDK动态代理、Cglib动态代理及Spring AOP
java·开发语言·spring
hjxxlsx1 小时前
什么是Spring Boot 应用开发?
spring boot
计算机学无涯1 小时前
Spring事务回滚
数据库·sql·spring
m0_748247802 小时前
SpringBoot集成Flowable
java·spring boot·后端
散一世繁华,颠半世琉璃2 小时前
SpringBoot揭秘:URL与HTTP方法如何定位到Controller
spring boot·后端·http
luoganttcc6 小时前
[源码解析] 模型并行分布式训练Megatron (2) --- 整体架构
分布式·架构·大模型