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

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
视频点播 VOD,流量+存储+转码
简介: 快速学习技术点-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 ,这个就是真正用端口去服务方法的一个效果。

总体:

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

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

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
3月前
|
开发框架 负载均衡 Java
当热门技术负载均衡遇上 Spring Boot,开发者的梦想与挑战在此碰撞,你准备好了吗?
【8月更文挑战第29天】在互联网应用开发中,负载均衡至关重要,可避免单服务器过载导致性能下降或崩溃。Spring Boot 作为流行框架,提供了强大的负载均衡支持,通过合理分配请求至多台服务器,提升系统可用性与可靠性,优化资源利用。本文通过示例展示了如何在 Spring Boot 中配置负载均衡,包括添加依赖、创建负载均衡的 `RestTemplate` 实例及服务接口调用等步骤,帮助开发者构建高效、稳定的应用。随着业务扩展,掌握负载均衡技术将愈发关键。
83 6
|
14天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
49 3
|
1月前
|
人工智能 文字识别 Java
SpringCloud+Python 混合微服务,如何打造AI分布式业务应用的技术底层?
尼恩,一位拥有20年架构经验的老架构师,通过其深厚的架构功力,成功指导了一位9年经验的网易工程师转型为大模型架构师,薪资逆涨50%,年薪近80W。尼恩的指导不仅帮助这位工程师在一年内成为大模型架构师,还让他管理起了10人团队,产品成功应用于多家大中型企业。尼恩因此决定编写《LLM大模型学习圣经》系列,帮助更多人掌握大模型架构,实现职业跃迁。该系列包括《从0到1吃透Transformer技术底座》、《从0到1精通RAG架构》等,旨在系统化、体系化地讲解大模型技术,助力读者实现“offer直提”。此外,尼恩还分享了多个技术圣经,如《NIO圣经》、《Docker圣经》等,帮助读者深入理解核心技术。
SpringCloud+Python 混合微服务,如何打造AI分布式业务应用的技术底层?
|
1月前
|
存储 Java API
简单两步,Spring Boot 写死的定时任务也能动态设置:技术干货分享
【10月更文挑战第4天】在Spring Boot开发中,定时任务通常通过@Scheduled注解来实现,这种方式简单直接,但存在一个显著的限制:任务的执行时间或频率在编译时就已经确定,无法在运行时动态调整。然而,在实际工作中,我们往往需要根据业务需求或外部条件的变化来动态调整定时任务的执行计划。本文将分享一个简单两步的解决方案,让你的Spring Boot应用中的定时任务也能动态设置,从而满足更灵活的业务需求。
100 4
|
2月前
|
存储 缓存 Java
在Spring Boot中使用缓存的技术解析
通过利用Spring Boot中的缓存支持,开发者可以轻松地实现高效和可扩展的缓存策略,进而提升应用的性能和用户体验。Spring Boot的声明式缓存抽象和对多种缓存技术的支持,使得集成和使用缓存变得前所未有的简单。无论是在开发新应用还是优化现有应用,合理地使用缓存都是提高性能的有效手段。
41 1
|
1月前
|
负载均衡 Java API
【Spring Cloud生态】Spring Cloud Gateway基本配置
【Spring Cloud生态】Spring Cloud Gateway基本配置
41 0
|
2月前
|
前端开发 安全 Java
技术进阶:使用Spring MVC构建适应未来的响应式Web应用
【9月更文挑战第2天】随着移动设备的普及,响应式设计至关重要。Spring MVC作为强大的Java Web框架,助力开发者创建适应多屏的应用。本文推荐使用Thymeleaf整合视图,通过简洁的HTML代码提高前端灵活性;采用`@ResponseBody`与`Callable`实现异步处理,优化应用响应速度;运用`@ControllerAdvice`统一异常管理,保持代码整洁;借助Jackson简化JSON处理;利用Spring Security增强安全性;并强调测试的重要性。遵循这些实践,将大幅提升开发效率和应用质量。
66 7
|
3月前
|
Java Spring
【Azure Spring Cloud】Spring Cloud Azure 4.0 调用Key Vault遇见认证错误 AADSTS90002: Tenant not found.
【Azure Spring Cloud】Spring Cloud Azure 4.0 调用Key Vault遇见认证错误 AADSTS90002: Tenant not found.
|
2月前
|
JavaScript 前端开发 Java
【颠覆传统】Spring框架如何用WebSocket技术重塑实时通信格局?揭秘背后的故事与技术细节!
【9月更文挑战第4天】随着Web应用对实时交互需求的增长,传统的HTTP模型已无法满足现代应用的要求,特别是在需要持续、双向通信的场景下。WebSocket协议由此诞生,提供全双工通信渠道,使服务器与客户端能实时互发消息。作为Java开发中最受欢迎的框架之一,Spring通过其WebSocket模块支持这一协议,简化了WebSocket在Spring应用中的集成。
57 0
|
3月前
|
前端开发 Java Spring
Spring与Angular/React/Vue:当后端大佬遇上前端三杰,会擦出怎样的火花?一场技术的盛宴,你准备好了吗?
【8月更文挑战第31天】Spring框架与Angular、React、Vue等前端框架的集成是现代Web应用开发的核心。通过RESTful API、WebSocket及GraphQL等方式,Spring能与前端框架高效互动,提供快速且功能丰富的应用。RESTful API简单有效,适用于基本数据交互;WebSocket支持实时通信,适合聊天应用和数据监控;GraphQL则提供更精确的数据查询能力。开发者可根据需求选择合适的集成方式,提升用户体验和应用功能。
92 0
下一篇
无影云桌面