使用 Spring Boot 和 Spring Cloud 的微服务
已发表: 2020-09-04目录
微服务简介
微服务是小型的、自力更生的服务,它们相互协作以实现复杂的业务目标。 这些服务是独立且完整的,因此它们可以由不同的开发团队使用不同的编程语言和数据存储来构建。 微服务可以单独扩展,并且可以自动部署。 与单体服务相比,它们易于维护并提供更大的容错能力。 然而,它们是松散耦合的,并且能够相互交互以实现更大应用程序的目标。
市场上有各种工具可供您使用,以便您可以使用微服务架构构建软件。 Spring Cloud 和 Spring Boot 是流行的 Java 微服务框架。
Spring Boot 是一个自以为是的应用程序开发平台,使用 Spring 框架构建,用于开发 Java Web 应用程序。 同时,它是可定制的,您可以根据自己的需求进行配置。 Spring Cloud教程的基本方面将在本博客中讨论。
使用 Spring Boot 和 Spring Cloud 的微服务
本Spring Cloud 教程提供了使用 Spring Boot 和 Spring Cloud 构建简单微服务应用程序的基本概述。 此外,本教程提供了相关文档的链接,可帮助您实现学习目标。 您将需要执行以下操作:
1. 通过使用 Spring Initializer 使用 Spring Boot 创建一个新服务
根据Spring Cloud 教程,第一步是使用 Spring Initializer 创建项目结构。 初始化程序提供了一种快速添加项目所需的所有依赖项的方法。 例如,您可以选择 Maven 项目、Java 和 Spring Boot 版本 2.0.0。 Maven 项目需要组 ID 和 Artefact ID,类似于 Java 中的包和类。
您还需要选择依赖项,例如 Web(开始开发 Web 应用程序)、DevTools(使开发应用程序变得容易)、Actuator(监控应用程序)和 Config Client(将应用程序连接到 Spring Config服务器)。 选择所有选项后,您将生成项目。 要了解更多信息,请参阅构建 RESTful Web 服务资源中的从 Spring Initializer 开始。 参考Spring Data JPA了解如何连接数据库。

2. 确保服务命名和发现
所有微服务都需要注册才能发现架构中的另一个服务何时在寻找它们。 例如,特定服务可能想要查找在特定环境中重新运行的另一服务的所有实例。 在本春季云教程中,您将了解命名服务器存储有关所有服务及其实例的信息,并将信息提供给寻求它的人。 因此,它有助于服务发现的过程。 要了解有关服务注册和发现的更多信息,请参阅Spring Cloud 和 Netflix 的 Eureka 的微服务注册和发现。

阅读: Spring Boot 项目和主题
3.调用其他微服务
使用 Spring Cloud,需要对其他组件和服务进行多次调用。 这是通过使用 Feign 来实现的,它使您能够更轻松地编写 Web 服务客户端,从而消除了过程的复杂性。 要了解更多信息,请参阅Spring Cloud Open Feign 。
4.确保负载均衡
根据这个spring 云教程, Feign 还提供了与客户端负载平衡框架 Ribbon 的集成。 Ribbon 帮助使用 Feign 配置来分配调用并在另一个服务想要连接的服务的所有实例之间平衡它们。 请参阅使用 Ribbon 和 Spring Cloud 进行客户端负载平衡以了解更多信息。
5. 使用 Spring Cloud Config Server 集中管理微服务配置
根据这个春季云教程,应用程序使用多个微服务,这些微服务的多个环境,以及这些服务在环境中运行的各种实例。 Spring 配置服务器提供了一个集中位置来存储与所有此类微服务实例相关的配置信息。
因此,此配置可在一个地方使用,并且架构中的任何服务都需要使用此配置。 要集中管理配置,您将定义与新服务相关的属性,然后使用 Git 作为代码存储库连接关联的 Spring Config 服务器。 要了解更多信息,请参阅文档Spring Config Overview 。 要了解如何将 Spring Config 与 Git 连接,请参阅Spring Cloud Config 。
另请阅读:印度春季开发人员薪水
6. 使用 Spring Cloud 建立安全性
在数百个微服务协同工作的微服务架构中,必须检查身份验证和授权。 除了安全性之外,还有一些考虑因素,例如指标、限制等。 API 网关可以实现所有服务共有的功能。

例如,Zuul Server 是一个 API Gateway 应用程序,它处理请求并执行微服务应用程序的动态路由。 参考Spring Cloud Gateway在这个spring cloud 教程中了解更多信息。
7.启用容错
实施微服务时的一个重要考虑因素是,如果一个组件停止工作,整个应用程序可能会停止。 Hystrix 框架有助于构建容错微服务,当方法调用失败时,您可以使用这些微服务优雅地升级功能。 这使微服务能够在相关服务发生故障时继续运行,防止故障级联并给故障服务时间恢复。
查看: Spring Bean 生命周期解释
结论
希望本Spring Cloud 教程将成为您入门的重要起点。
如果您有兴趣了解有关 Spring Cloud 的更多信息,请查看 upGrad 和 IIIT-B 的全栈软件开发 PG 文凭,该文凭专为工作专业人士设计,提供 500 多个小时的严格培训、9 个以上的项目和作业,IIIT -B 校友身份、实用的实践顶点项目和顶级公司的工作协助。