【微服务 - easy视频 | day03】服务与服务之间的调用

文章目录

前言

本项目非原创,我只是个小小白,跟随 b 站脚步,找到老罗的这个项目,视频来源于:
https://www.bilibili.com/video/BV1oEUkY6EFy/?spm_id_from=333.1387.homepage.video_card.click

本人不分享项目源码,支持项目付费!!!

服务与服务之间的调用

1. web服务调用admin服务提供接口

对于分类列表,视频分类的创建和修改都由admin服务实现,所以,针对视频分类的操作,查询视频分类列表由admin服务提供api接口。

admin服务提供分类查询接口:

web服务调用admin服务的获取分类接口:

  • @FeignClient 是 Spring Cloud 提供的一个注解,用于定义声明式的 Web 服务客户端 。通过使用 @FeignClient 注解,我们可以很轻松地定义一个接口,Spring Cloud 会自动为我们创建客户端实现。name 属性指定了要调用的服务名称,这个名称需要与服务注册中心中的服务名称一致。
  • 要在web服务中使用@FeignClient注解,需要在web服务的启动类上表示注解:@EnableFeignClients

web服务测试:

2. 过滤直接访问内部接口的请求

既然获取视频列表的的内部接口inner/category/loadAllCategory是提供给web服务内部使用的,如果直接通过gateway网关访问admin服务中的inner/category/loadAllCategory接口,则应返回404。

gateway过滤器过滤:

如果访问的请求路径中包含inner,则返回404异常。

访问测试:

通过网关访问web的test接口,可以正常获取视频分类列表:

通过admin服务请求视频分类列表接口,可以正常获取视频分类列表:

通过网关访问admin的请求视频分类列表接口, 返回404错误:

分类信息拆分

https://www.bilibili.com/video/BV1oEUkY6EFy/?spm_id_from=333.788.player.switch&vd_source=ca90f6e173ad4e20035c573eba09dd08&p=6

对在单服务中的分类信息的相关类,拆分到base、common、admin、web服务中。

web服务调用admin服务的视频分类列表接口,通过前面定义的client接口调用admin服务中的方法实现:

通过gateway网关访问接口:

web服务拆分获取首页信息
调用资源服务获取文件信息:

resource服务中调用web服务的接口获取视频文件信息:
注意:设计的远程调用接口中,方法参数前要添加@RequestParam,否则参数无法传入。

调用互动服务,互动服务评论、弹幕
创作中心(投稿)、个人主页
管理后台:数据统计、视频管理、互动管理
管理后台:用户、系统设置、文件处理

总结

从原来的单服务系统拆分为为服务系统:

  • 区分对于原来的每个接口的实现操作应该在哪个服务中
  • 针对需要调用其它服务中的接口,可以采用 Spring Cloud 的 @FeignClient 注解
  • 拆分为微服务后,与前端对应接口,有修改的地方再进行修改
相关推荐
珠海西格电力1 小时前
零碳园区数据应用的具体场景有哪些?
大数据·人工智能·算法·架构·能源
东方小月1 小时前
agent-skills:把资深工程师的‘工作流’,装进你的AI编程里
前端·架构·代码规范
长不胖的路人甲2 小时前
微服务限流
微服务·云原生·架构
宠友信息2 小时前
内容社区源码多端数据协议与 Spring Boot 状态流转实现思路
java·spring boot·websocket·uni-app
doiito(Do It Together)3 小时前
【Web安全,微服务安全】HashiCorp Vault 项目深度分析报告
web安全·微服务·安全架构
亿牛云爬虫专家3 小时前
2026架构前沿:将Declarative Crawler(声明式爬虫)引入你的技术栈
爬虫·架构·爬虫代理·requests·隧道代理·声明式爬虫·转发模式
oradh4 小时前
Oracle DG主备架构的基本维护操作总结
数据库·oracle·架构·dg主备架构的基本维护操作总结
东方佑4 小时前
FRSMASH v3.7:当门控机制成为长上下文的枷锁——一个极简修复背后的架构洞见
人工智能·架构
Niuguangshuo4 小时前
TTS 架构的六代演进(一):三段式链路与评测框架
架构
武子康4 小时前
调查研究-224 Prefill 与 Decode 分离:高并发 LLM Serving 的下一层架构
人工智能·ai·架构·llm·gpu·vllm·sglang