SpringBoot 先于 Spring Cloud 问世.
SpringBoot 相当于脚手架, 借助他可以快速搭建房子, 它本身不具备任何功能属性, 只是普通房间, 没有其他任何功能.
什么是 Spring BootJava 学习记录 -- 探究 Spring Boot 与 Spring Cloud 之间的关系
Spring Boot 简化了基于 Spring 的应用开发, 通过少量的代码就能创建一个独立的, 产品级别的 Spring 应用. Spring Boot 为 Spring 平台及第三方库提供开箱即用的设置, 这样你就可以有条不紊地开始. 多数 Spring Boot 应用只需要很少的 Spring 配置.
Spring Boot 是由 Pivotal 团队提供的全新框架, 其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程. 该框架使用了特定的方式来进行配置, 从而使开发人员不再需要定义样板化的配置. 用我的话来理解, 就是 Spring Boot 其实不是什么新的框架, 它默认配置了很多框架的使用方式, 就像 maven 整合了所有的 jar 包, Spring Boot 整合了所有的框架(不知道这样比喻是否合适).
Spring Boot 的核心思想就是约定大于配置, 一切自动完成. 采用 Spring Boot 可以大大的简化你的开发模式, 所有你想集成的常用框架, 它都有对应的组件支持. 如果你对 Spring Boot 完全不了解.
什么是 Spring Cloud
Spring Cloud 是一系列框架的有序集合. 它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发, 如服务发现注册, 配置中心, 消息总线, 负载均衡, 断路器, 数据监控等, 都可以用 Spring Boot 的开发风格做到一键启动和部署. Spring 并没有重复制造轮子, 它只是将目前各家公司开发的比较成熟, 经得起实际考验的服务框架组合起来, 通过 Spring Boot 风格进行再封装屏蔽掉了复杂的配置和实现原理, 最终给开发者留出了一套简单易懂, 易部署和易维护的分布式系统开发工具包.
微服务是可以独立部署, 水平扩展, 独立访问 (或者有独立的数据库) 的服务单元, Spring Cloud 就是这些微服务的大管家, 采用了微服务这种架构之后, 项目的数量会非常多, Spring Cloud 做为大管家就需要提供各种方案来维护整个生态.
Spring Cloud 就是一套分布式服务治理的框架, 既然它是一套服务治理的框架, 那么它本身不会提供具体功能性的操作, 更专注于服务之间的通讯, 熔断, 监控等. 因此就需要很多的组件来支持一套功能.
Spring Boot 和 Spring Cloud 的关系
Spring Boot 是 Spring 的一套快速配置脚手架, 可以基于 Spring Boot 快速开发单个微服务, Spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具; Spring Boot 专注于快速, 方便集成的单个微服务个体, Spring Cloud 关注全局的服务治理框架; Spring Boot 使用了默认大于配置的理念, 很多集成方案已经帮你选择好了, 能不配置就不配置, Spring Cloud 很大的一部分是基于 Spring Boot 来实现, 可以不基于 Spring Boot 吗? 不可以.
Spring Boot 可以离开 Spring Cloud 独立使用开发项目, 但是 Spring Cloud 离不开 Spring Boot, 属于依赖的关系.
总结
SpringBoot 在 Spring Clound 中起到了承上启下的作用, 如果你要学习 SpringCloud 必须要学习 SpringBoot.
最后
如果你对技术提升很感兴趣, 可以加入我的 Java 进阶之路来交流学习: 878249276, 里面都是同行, 有资源共享. 欢迎各位加入.
来源: http://www.jianshu.com/p/1e5582b2c4b3