springBoot 是 spring 团队伴随着 spring4.0 一同发布的框架,已然成为该团队的一个非常重要的项目。其作用是帮助我们简单迅速地创建一个独立的产品级别的基于 spring 的应用
为什么要使用SpringBoot?
J2EE 笨重的开发、繁多的配置、低下的开发效率、复杂的部署流程、第三方技术集成难度大,都成为了阻碍开发者效率的难关。Spring Boot 的任务就是用来简化Spring应用开发,约定大于配置,去繁从简,just run 就能创建一个独立的,产品级别的应用。SpringBoot 通过整合整个 spring 系列的技术栈,从而简化了企业级开发。SpirngBoot 帮助我们自动配置好 spring 的相关环境,用户只需从一个微小的入口就能打开整个企业级开发的大门
SpringBoot 的优点
- 快速创建独立运行的 Spring 项目以及与主流框架集成
- 使用嵌入式的 Servlet 容器,应用无需打成 WAR 包
- starters 自动依赖与版本控制
- 大量的自动配置,简化开发,也可修改默认值
- 无需配置 XML,无代码生成,开箱即用
- 准生产环境的运行时应用监控
- 与云计算的天然集成
总结
SpringBoot 是简化 Spring 应用开发的一个框架;是整个 Spring 技术栈的一个大整合;是 J2EE 开发的一站式解决方案;
微服务
这里首先介绍一下单体应用的概念。单体应用将所有的代码等统统写在一个应用里边,最后再部署到服务器上,从而运行应用,这就是所谓的 ALL IN ONE。这是传统的 WEB 应用架构模式,但这种模式会带来牵一发而动全身的问题,一旦某一部分出现修改,则整个应用都必须重新部署运行。而且面对日益增长的需求,我们越来越不可能将一个庞大的应用 ALL IN ONE 全部写在里边。
什么是微服务?微服务是一种架构风格,提倡一个应用应该是一组小型服务的组合,每一个服务运行在自己的进程内,每一个服务可以通过HTTP的方式进行互通。如果需要通过跨服务器分发单个服务进行扩展,只需要复制单个服务就行了,不需要复制整个项目,从而使每一个服务都是独立的、可替换的软件单元。
微服务的最终实现目标
最终的理想微服务架构应该是每个软件单元都能独立出来,每个单元对应不同的业务逻辑。单元与单元之间通过 HTTP 完成互调,最终通过不断地微化,形成一个紧密的应用网。不过如此庞大的一个分布式应用所带来的开发难度也是巨大的。
如何快速构建微服务
使用 SpringBoot 可以帮助我们快速完成一个微服务应用。使用 SpringCloud 可以帮助我们完成大型关系网之间的互调。包括一些流数据的计算与批处理我们可以使用 Spring Cloud Date Flow 来处理。可以说 spring 官方为我们想清楚了构建微服务的整个思路。