Spring Boot引入
SpringBoot是用于简化Spring的应用开发,基于约定大于配置的原则,去繁从简,Just run就能创建一个独立的产品级别的应用。
SpringBoot解决的问题
1.“Spring全家桶”时代;
2.SpringBoot -> J2EE一站式解决方案;
3.Spring Cloud -> 分布式整体解决方案。
Spring优点
SpringBoot 是基于Spring的再次封装整合,它能够快速创建独立运行的Spring项目以及与主流的框架进行集成,包括ZooKeeper,NoSQL等,传统的Spring或J2EE项目的部署也十分头痛,可能需要先打包成war包,再部署tomcat,前后部署执行顺序有很强的依赖关系,而SpringBoot使用嵌入是的Servlet容器,应用无需再打包成WAR包,直接发布jar包,执行java -jar xxx.jar方式即可运行。
SpringBoot还提供了大量的Starters启动器,能够简化开发对三方件的依赖以及支持版本控制,如果需要使用web功能,只需独立引入web的Starter即可,如果需要使用数据库相关功能,只需要引入JDBC相关的Starter即可,SpringBoot都能自动依赖Starter启动器的内部依赖并做好依赖版本管理。
大量的自动配置也解放了开发人员,无需再人工手动配置所有配置项,简化了开发,也可以根据实际场景需要修改对应的默认值,这就相当于我给你的你就能用起来,你用不爽再按你自己的想法做相应调整即可。同时,也无需开发人员配置XML,没有代码生成,开箱即可使用,从此和XML编写时代Say 拜拜。
SpringBoot还能提供准生产环境的运行时应用监控,运维在整个系统的运行阶段都能监控到每个服务状态。
SpringBoot还能与云计算天然集成。
微服务
2014年,martinfowler提出的一种架构风格,每个应用都是一组小型服务,通过HTTP方式进行互通,组成应用通信网,而与之对应的就是单体应用(All in one),将所有功能放在一个单一进程里,并且在多个服务器上复制这个单体进行扩展。
微服务的出现打破了传统的单体应用模式,它通过将每个功能元素放进一个独立的服务中,并且通过跨服务器分发这些服务进行扩展,只在需要时才复制。
详细的描述见原文作者博客MicroService Introduction,中文翻译微服务博客中文。
Your APP -> Spring Boot构建(build anything) -> Spring Cloud互联互调分布式(Coordinate Anything) -> Spring Cloude Data Flow流式数据计算(Connect anything)。