Spring boot与Spring cloud的关系

6 篇文章 0 订阅
4 篇文章 0 订阅

Spring boot
Spring boot 是 Spring 的一套快速配置脚手架,可以基于spring boot 快速开发单个微服务。

Spring Cloud
Spring Cloud是一个基于Spring Boot实现的云应用开发工具;
Spring boot专注于快速、方便集成的单个个体,Spring Cloud是关注全局的服务治理框架;
spring boot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring boot来实现。
Spring boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring boot,属于依赖的关系。

spring -> spring boot > spring cloud 这样的关系。

Spring Boot,看名字就知道是Spring的引导,就是用于启动Spring的,使得Spring的学习和使用变得快速无痛。不仅适合替换原有的工程结构,更适合微服务开发。
Spring Cloud基于Spring Boot,为微服务体系开发中的架构问题,提供了一整套的解决方案——服务注册与发现,服务消费,服务保护与熔断,网关,分布式调用追踪,分布式配置管理等。
学过Spring的都知道,Spring开发有非常头疼的三点: 以启动一个带Hibernate的Spring MVC为例。

  1. 依赖太多了,而且要注意版本兼容。这个应用,要添加10-20个依赖,Spring相关的包10多个,然后是Hibernate包,Spring与Hibernate整合包,日志包,json包一堆,而且要注意版本兼容性。
  2. 配置太多了,要配置注解驱动,要配置数据库连接池,要配置Hibernate,要配置事务管理器,要配置Spring MVC的资源映射,要在web.xml中配置启动Spring和Spring MVC。。等
  3. 部署和运行麻烦。要部署到tomcat里面。不能直接用java命令运行。
    太多重复和大家都一样的配置了。
    Spring Boot的哲学就是约定大于配置。既然很多东西都是一样的,为什么还要去配置。
  4. 通过starter和依赖管理解决依赖问题。
  5. 通过自动配置,解决配置复杂问题。
  6. Spring Boot就是一个内嵌Web服务器(tomcat/jetty)的可执行程序的框架。

你开发的web应用不需要作为war包部署到web服务器中,而是作为一个可执行程序,启动时把Web服务器配置好,加载起来。Spring Boot比较适合微服务部署方式,不再是把一堆应用放到一个Web服务器下,重启Web服务器会影响到其他应用,而是每个应用独立使用一个Web服务器,重启动和更新都很容易。Spring Cloud是一套微服务开发和治理框架,来自Netflex的OSS,包含了微服务运行的功能,比如远程过程调用,动态服务发现,负载均衡,限流等。

spring boot 把spring spring mvc spring data jpa 等等的一些常用的常用的基础框架组合起来,提供默认的配置,然后提供可插拔的设计,就是各种starter,来方便开发者使用这一系列的技术,套用官方的一句话,spring 家族发展到今天,已经很庞大了,作为一个开发者,如果想要使用spring 家族一系列的技术,需要一个一个的搞配置,然后还有个版本兼容性问题,其实挺麻烦的,偶尔也会有小坑出现,其实蛮影响开发进度,spring boot 就是来解决这个问题,提供了一个解决方案吧,可以先不关心如何配置,可以快速的启动开发,进行业务逻辑编写,各种需要的技术,加入starter就配置好了,直接使用,可以说追求开箱即用的效果吧;
srping cloud 看名称,就是云,现在流行云技术,spring boot 可以支持你快速的开发出restful 风格的微服务架构,但是这还不够啊,还要上云,所以有了spring cloud。
这里写图片描述

Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式


Spring Boot简化了基于Spring的应用开发,你只需要"run"就能创建一个独立的,产品级别的Spring应用。 为Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不紊地开始。多数Spring Boot应用只需要很少的Spring配置。你可以使用Spring Boot创建Java应用,并使用 java -jar 启动它或采用传统的war部署方式。也提供了一个运行"spring脚本"的命令行工具。
主要的目标:

  • 为所有Spring开发提供一个从根本上更快,且随处可得的入门体验。
  • 开箱即用,但通过不采用默认设置可以快速摆脱这种方式。
  • 提供一系列大型项目常用的非功能性特征,比如:内嵌服务器,安全,指标,健康检测,外部化配置。
  • 绝对没有代码生成,也不需要XML配置。

Spring Cloud微服务架构集大成者,云计算最佳业务实践。为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调样板模式,使用Spring Cloud,开发人员可以快速实施这些模式的服务和应用程序。在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Foundry等托管平台。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值