技术点-SpringCloud 调用接口流程 | 学习笔记

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 快速学习技术点-SpringCloud 调用接口流程

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)技术点-SpringCloud 调用接口流程学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/667/detail/11421


技术点-SpringCloud 调用接口流程


内容介绍

一、Hystrix 基本概念

二、流程原理示意图


一、Hystrix 基本概念

SpringCloud 的另一个组件叫 Hystrix,或者叫断路器。

1、Spring Cloud 调用接口过程

Spring Cloud 在接口调用上,大致会经过如下几个组件配合:

Feign——>Bystriz—>Ribbon—> HttpClient ( apache http components或者OKhttp).


二、流程原理示意图

image.png

过程中会遇到

Feign——>Bystriz—>Ribbon—> HttpClient ( apache http components或者OKhttp)这几个组件,这几个组件相互配合,才会实现之前的效果。

在调用过程中有两部分,一个叫调用端,一个叫被调用端,说的官方一点,一个叫消费者,另一个是生产者。首先说消费者,因为这个过程都是在消费中做到。

首先第一步叫接口化请求调用,这句话说的比较官方,说的通俗一点其实很好理解,比如说vod里边指定了接口位置,也指定了接口地址,就是你设置一下调用的服务和服务中的那个调用方法,这就是第一步,

比如现在调用 service vod 中的 eduvod video removeAlVideo {id},第一步就是在里边定义。

接下来第二步就是 Feign 组件,在第一步时候只是做到了定义并没有真正意义上的调用,而真正调用的过程就是在第二步之后执行的,而 Feign 要做的事情就是首先在方法里找到具体位置,用方法调用功能,但是它要远程调用 service voc,Feign就去找到 service voc 定义的名字,找到位置并调用。根据名字找到服务做调用,这个过程叫 Feign,这就是第二步。

第三步也就是接下来要用的组件 Hystrix,它的名字叫熔断器或者叫断路器。

比如说vod的服务器突然挂掉了,要是再去调就调不到了,然后就要直接给它断掉,如果没有挂掉就直接调用,如果挂掉了就直接断掉,这就是所说的熔断器或者断路器,就是做到系统的一种保护功能。

如果能调用就直接跳过熔断到下一步,叫 Ribbon,它的含义是,比如现在熔断可以成功调用,那下一个就肯定要调服务组件,这个 Ribbon 组件就是负载均衡,负载均衡就是,比如说现在把 vod 配置到多个服务器,那现在 Ribbon 就会将这些分布到集群服务器中,假如现在有两个服务器,就会把请求平均分到两台服务器中,这就叫负载均衡,用 Ribbon 来做到。

当负载均衡也做到之后,最后一步就是做真正的调用,而最终调用就是用 HttpClient ,这个就是真正用端口去服务方法的一个效果。

总体:

首先有一个消费者做调用,最后有一个生产者做调用,生产者也可以叫被调用者,第一步就是接口化请求调用,就是找到接口的位置和地址,第二步就是根据名字找到服务中的接口做调用,第三个就是比如生产者的服务器当机了就用熔断机制,让它不再调用,如果服务器没挂掉,就正常往下走,一种保护功能。

如果能正常调用就到下一步,就是对你的请求做负载均衡,比如现在生产者有一个集群,但是它会把调用的分担到不同的服务器中,分担之后,就是发送请求,就是最终执行被得到。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
1月前
|
SQL Java 数据库连接
Spring Data JPA 技术深度解析与应用指南
本文档全面介绍 Spring Data JPA 的核心概念、技术原理和实际应用。作为 Spring 生态系统中数据访问层的关键组件,Spring Data JPA 极大简化了 Java 持久层开发。本文将深入探讨其架构设计、核心接口、查询派生机制、事务管理以及与 Spring 框架的集成方式,并通过实际示例展示如何高效地使用这一技术。本文档约1500字,适合有一定 Spring 和 JPA 基础的开发者阅读。
171 0
|
2月前
|
前端开发 Java API
利用 Spring WebFlux 技术打造高效非阻塞 API 的完整开发方案与实践技巧
本文介绍了如何使用Spring WebFlux构建高效、可扩展的非阻塞API,涵盖响应式编程核心概念、技术方案设计及具体实现示例,适用于高并发场景下的API开发。
249 0
|
1月前
|
监控 安全 Java
Spring Cloud 微服务治理技术详解与实践指南
本文档全面介绍 Spring Cloud 微服务治理框架的核心组件、架构设计和实践应用。作为 Spring 生态系统中构建分布式系统的标准工具箱,Spring Cloud 提供了一套完整的微服务解决方案,涵盖服务发现、配置管理、负载均衡、熔断器等关键功能。本文将深入探讨其核心组件的工作原理、集成方式以及在实际项目中的最佳实践,帮助开发者构建高可用、可扩展的分布式系统。
113 1
|
1月前
|
监控 Kubernetes Cloud Native
Spring Batch 批处理框架技术详解与实践指南
本文档全面介绍 Spring Batch 批处理框架的核心架构、关键组件和实际应用场景。作为 Spring 生态系统中专门处理大规模数据批处理的框架,Spring Batch 为企业级批处理作业提供了可靠的解决方案。本文将深入探讨其作业流程、组件模型、错误处理机制、性能优化策略以及与现代云原生环境的集成方式,帮助开发者构建高效、稳定的批处理系统。
233 1
|
1月前
|
Java 数据库连接 开发者
Spring Framework 核心技术详解
本文档旨在深入解析 Java Spring Framework 的核心技术原理与应用。与侧重于快速开发的 Spring Boot 不同,本文将聚焦于 Spring 框架本身的设计理念、核心容器、控制反转(IoC)、面向切面编程(AOP)、数据访问与事务管理等基础且强大的模块。通过理解这些核心概念,开发者能够更深刻地领悟 Spring 生态系统的设计哲学,并具备解决复杂企业级应用开发问题的能力。
138 4
|
2月前
|
Java 应用服务中间件 开发者
Spring Boot 技术详解与应用实践
本文档旨在全面介绍 Spring Boot 这一广泛应用于现代企业级应用开发的框架。内容将涵盖 Spring Boot 的核心概念、核心特性、项目自动生成与结构解析、基础功能实现(如 RESTful API、数据访问)、配置管理以及最终的构建与部署。通过本文档,读者将能够理解 Spring Boot 如何简化 Spring 应用的初始搭建和开发过程,并掌握其基本使用方法。
233 2
|
1月前
|
监控 Java API
Spring WebFlux 响应式编程技术详解与实践指南
本文档全面介绍 Spring WebFlux 响应式编程框架的核心概念、架构设计和实际应用。作为 Spring 5 引入的革命性特性,WebFlux 提供了完全的响应式、非阻塞的 Web 开发栈,能够显著提升系统的并发处理能力和资源利用率。本文将深入探讨 Reactor 编程模型、响应式流规范、WebFlux 核心组件以及在实际项目中的最佳实践,帮助开发者构建高性能的响应式应用系统。
282 0
|
1月前
|
监控 Cloud Native Java
Spring Integration 企业集成模式技术详解与实践指南
本文档全面介绍 Spring Integration 框架的核心概念、架构设计和实际应用。作为 Spring 生态系统中的企业集成解决方案,Spring Integration 基于著名的 Enterprise Integration Patterns(EIP)提供了轻量级的消息驱动架构。本文将深入探讨其消息通道、端点、过滤器、转换器等核心组件,以及如何构建可靠的企业集成解决方案。
117 0
|
1月前
|
Kubernetes Java 微服务
Spring Cloud 微服务架构技术解析与实践指南
本文档全面介绍 Spring Cloud 微服务架构的核心组件、设计理念和实现方案。作为构建分布式系统的综合工具箱,Spring Cloud 为微服务架构提供了服务发现、配置管理、负载均衡、熔断器等关键功能的标准化实现。本文将深入探讨其核心组件的工作原理、集成方式以及在实际项目中的最佳实践,帮助开发者构建高可用、可扩展的分布式系统。
286 0
|
1月前
|
安全 Java 数据安全/隐私保护
Spring Security 核心技术解析与实践指南
本文档深入探讨 Spring Security 框架的核心架构、关键组件和实际应用。作为 Spring 生态系统中负责安全认证与授权的关键组件,Spring Security 为 Java 应用程序提供了全面的安全服务。本文将系统介绍其认证机制、授权模型、过滤器链原理、OAuth2 集成以及最佳实践,帮助开发者构建安全可靠的企业级应用。
104 0