Spring 和 SpringBoot的关系
-
Spring 的发展史
Spring是2003年兴起的一个轻量级的java开源框架,这个框架最初是为了解决企业级应用开发笨重臃肿的问题,宗旨就是简化开发; -
SpringBoot的诞生
随着Spring越来越火,Spring也慢慢从一个小而精的框架变成了一个覆盖面广大又全的框架,大量繁琐的XML配置和第三方整合配置,让Spring使用者痛苦不已,这个时候急需一个解决方案来解决这些问题,故Spring Boot应运而生,2013年Spring Boot开始研发,2014年4月Spring Boot 1.0正式发布。 -
Spring Boot 的官网
https://spring.io/projects/spring-boot
什么是SpringBoot
- Spring Boot相对于Spring来说是一套全新的框架,它来自于Spring大家族,因此 Spring所有具备的功能它都有并且更容易使用;同时还简化了基于Spring的应用开发,通过少量的代码就能创建一个独立的、产品级别的Spring应用。
- Spring Boot默认配置了很多框架的使用方式,就像Maven整合了所有的Jar包,Spring Boot整合了所有的框架。它的核心设计思想是︰约定优于配置,Spring Boot所有开发细节都是依据此思想进行实现。
- 约定优于配置的一个例子就是内置的tomcat默认端口号是8080
- starter 启动器,最大的作用就是如果要使用某个模块的话,可以不用一个一个导入jar包,也不用一个一个的去管理版本,只要在maven中导入相应的starter包即可。
SpringBoot的特性
- 搭建项目块,几秒钟就可以搭建完成
- 没有冗余代码生成和XML配置的要求
- 开箱即用,提供各种默认配置来简化项目配置
- 内嵌容器,省去了配置tomcat的繁琐
- starter自动依赖和版本控制
- 方便监控,使用Spring Boot Actuator组件提供了应用的系统监控,可以查看应用配置的详细信息
什么是微服务
- Martin Fowler https://marginFowler.com
- 和他描述的微服务 https://martinfowler.com/microservices/
- 微服务是一种架构风格,它要求我们在开发一个应用的时候,这个应用必须构建成一系列小服务的组合;可以通过http的方式进行互通。可以与单体架构进行对比。
单体架构和微服务架构
- 什么是单体架构
所谓单体应用架构(all in one)是指我们将一个应用的中的所有服务都封装在一个应用中。无论是ERP、CRM或是其他什么系统,你都把数据库访问,web访问,等等各个功能放到一个war包内。
- 单体架构优缺点
- 优点:易于开发和测试;十分方便部署;当需要扩展时,只需要将war复制多份,然后放
到多个服务器上,再做个负载均衡就可以了。- 缺点:项目过于臃肿;资源无法隔离;无法灵活拓展
- 什么是微服务架构
所谓微服务架构,就是打破之前all in one的架构方式,把每个功能元素独立出来。把独立出来的功能元素的动态组合,需要的功能元素才去拿来组合,需要多一些时可以整合多个功能元素。所以微服务架构是对功能元素进行复制,而没有对整个应用进行复制
- 微服务架构优点
节省了调用资源。每个功能元素的服务都是一个可替换的、可独立升级的软件代码。
-
单体机构和微服务架构区别
单体机构和微服务架构区别
如何构建微服务架构
在官网中可以看到以下的图片,该图片描述了如何构建一个微服务架构的系统 点击查看官网地址
- 一个大型系统的微服务架构,就像一个复杂交织的神经网络,每一个神经元就是一个功能元素,它们各自完成自己的功能,然后通过http或者RPC相互请求调用。但这种庞大的系统架构给部署和运维带来很大的难度,于是,spring为我们带来了构建大型分布式微服务的全套、全程产品:
- √构建一个个功能独立的微服务应用单元,可以使用springboot,可以帮我们快速构建一个应用
- √大型分布式网络服务的调用,这部分由spring cloud来完成,实现分布式
- √在分布式中间,进行流式数据计算、批处理,采用spring cloud data flow
更多知识,请点击关注查看我的主页信息哦
网友评论