当前位置: 首页>后端>正文

如何用 Spring Cloud 新组件构建微服务架构?

本文的主要目的是指导你使用新的 Spring Cloud 组件构建微服务架构,替换废弃的 Netflix 项目。示例应用的源码可以在GitHub上的仓库中找到。

架构

下图展现了我们样例系统的架构。在这里,我们包含了微服务的特征元素,如 API 网关、服务发现 server 以及配置 server。接下来,我会展示如何使用提供了这些模式的 Spring Cloud 组件。目前,向系统中添加 API 网关的主要组件是?Spring Cloud Gateway

如何用 Spring Cloud 新组件构建微服务架构?,第1张

Spring Cloud 提供了与多个可用作服务发现服务器的方案的集成,包括 Netflix Eureka、HashiCorp Consul、Alibaba Nacos 和 Apache ZooKeeper。其中,最流行的是前两者。Spring Cloud Netflix Eureka?专门用于服务发现,而?Spring Cloud Consul?可同时通过 Consul Services 实现服务发现,通过 Consul Key/Value 引擎实现分布式跟踪特性。

Spring Cloud Config 只负责提供一个配置管理的机制。但是,它也可以与第三方工具集成,如来自 HashiCorp 的 Vault。以两个简单的 Spring Boot 应用?callme-service?和?caller-service?为例,我们阐述如何将应用与服务发现和配置服务器进行集成。我们还会在?caller-service?上使用 Spring Cloud Load Balancer 启用客户端负载均衡,并使用基于 Resilience4J 构建的?Spring Cloud Circuit Breaker?启用断路器功能。

服务发现

借助 Spring Cloud 的 DiscoveryClient 抽象,在客户端切换不同的服务发现服务器非常容易。这种切换只需要替换 Maven?pom.xml文件中的一个依赖项。如果你想要使用 Eureka 的话,只需要添加如下的 starter 到微服务中。

如何用 Spring Cloud 新组件构建微服务架构?,第2张
如何用 Spring Cloud 新组件构建微服务架构?,第3张
如何用 Spring Cloud 新组件构建微服务架构?,第4张
如何用 Spring Cloud 新组件构建微服务架构?,第5张
如何用 Spring Cloud 新组件构建微服务架构?,第6张
如何用 Spring Cloud 新组件构建微服务架构?,第7张
如何用 Spring Cloud 新组件构建微服务架构?,第8张
如何用 Spring Cloud 新组件构建微服务架构?,第9张

https://www.xamrdz.com/backend/3p21936346.html

相关文章: