写点什么

Spring Boot 和 Spring Cloud 的关系

作者:阿泽🧸
  • 2022-10-28
    北京
  • 本文字数:1137 字

    阅读完需:约 4 分钟

Spring Boot和Spring Cloud的关系

Spring Boot 是 Spring Cloud 的基础,其自身的各项优点,如自动化配置、快速开发、轻松部署等,使其非常适合作为微服务架构中各项具体微服务的开发框架。所以强烈推荐使用 Spring Boot 来构建微服务,它不仅可以帮助使用者快速地构建微服务,还可以轻松简单地整合 Spring Cloud 实现系统服务化。而如果使用传统的 Spring 构建方式,在整合过程中还需要做更多的依赖管理工作才能让微服务完好地运行起来。


很多 Spring 框架的初学者经常会因为其繁杂的配置文件而却步。而很多老手每次构建新项目时总是会重复做复制一些差不多的配置文件等枯燥乏味的事。一名优秀的程序员或架构师,总会想尽办法来避免这样的重复劳动,比如,通过 Maven 等构建工具来创建针对不同场景的脚手架工程,在需要新建项目时通过这些脚手架来初始化自定义的标准工程,并根据需要做一些简单修改,以达到简化原有配置过程的效果。这样的做法虽然减少了工作量,但是这些配置依然大量散布在项目工程中,而大部分情况下使用者并不会去修改这些配置,那么这些配置为什么还要反复出现在项目工程中呢?实在有些碍眼!


Spring Boot 的出现可以有效改善这类问题。Spring Boot 的宗旨并非重写 Spring 或是替代 Spring,而是通过设计大量的自动化配置等方式来简化 Spring 原有样板化的配置,使得开发者可以快速构建应用。


Spring Boot 使创建独立的、基于 Spring 的生产级应用程序变得很容易,您可以“直接运行”。对于 Spring 平台和第三方库,您可以选择从最简单的开始。大多数 Spring Boot 应用程序需要最基础的 Spring 配置。


除了解决配置问题,Spring Boot 还通过一系列 Starter 的定义,让使用者在整合各项功能的时候,不需要在 Maven 的 pom.xml 中维护那些错综复杂的依赖关系,而是通过类似模块化的 Starter 模块定义来引用,使得依赖管理工作变得更为简单。


在如今这个“容器化大行其道的时代”, Spring Boot 除了可以很好地融入 Docker,其自身还支持嵌入式的 Tomcat、Jetty 等容器。所以,通过 Spring Boot 构建的应用不再需要安装 Tomcat,将应用打成 WAR 包,再将其部署到 Tomcat 这样复杂的构建与部署动作,只需将 Spring Boot 应用打成 JAR 包,并通过 java -jar 命令直接运行就能启动一个标准化的 Web 应用,这使得 Spring Boot 应用变得非常轻便。


目前看来,Spring Cloud 是一套比较完整的微服务架构,它是一系列框架的有序集合。简单理解,它只是将目前开发得比较成熟、经得起实际考验的服务框架组合起来,通过 Spring Boot 进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者提供了一套简单易懂、易部署和易维护的分布式系统开发工具包。它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,使服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 Spring Boot 的开发风格做到一键启动和部署。


发布于: 刚刚阅读数: 6
用户头像

阿泽🧸

关注

还未添加个人签名 2020-11-12 加入

还未添加个人简介

评论

发布
暂无评论
Spring Boot和Spring Cloud的关系_Spring Boot_阿泽🧸_InfoQ写作社区