当前位置: 首页 > news >正文

微服务网关/nacos/feign总结

现在学习到的组件

1.nacos:注册中心,用于微服务之间交流的第三方管家,与生产者建立心跳契约对其监听,注册中心维护一张生产者的活跃表,会将活跃表实时更新并推送给消费者。

2.feign:nacos只是对生产者进行注册,而实际的转发并不是由nacos来完成的,简单来讲nacos的主要作用就是维护一张表,这张表只写了对应的生产者微服务的名称和一些基本信息,消费者能够知道对方的名字。并且nacos还可以配合负载均衡,为消费者选取出最适合分配到的生产者。

但是——消费者调用生产者的这一个网络连接过程并不是nacos组件完成的,而是使用feign完成的!!!

3.当我们拆分完微服务后,各个微服务的端口地址五花八门,而原本单体架构前端访问后端时再不使用荷载均衡时,只会访问一个后端端口,常见的如8080端口。

现在由于微服务的拆分,导致不同的服务端口不同,前端访问后端变得困难。

所以使用网关,网关对微服务的端口进行统一管理,而前端只需要访问网管即可,解放了前端的接口传递。

网关实际上就是一个单独模块,专用于转发接口调用。

4.完整流程

4.1前端调用端口8080的userController的search方法,接口对应为:localhost:8080/users/search。
假设现在user模块有多个微服务端口分别为:8083、8084、8085。

4.2localhost:8080/users/search被网关接收,网关解析到/users路径,网关配置文件中users对应微服务名称为user-service

4.3网关通过nacos注册中心中拉取user-service的微服务列表,并使用负载均衡选取合适的服务器,假设现在选取的是注册列表中的端口号为8084的服务器,从而网关会向下转发localhost:8084/users/search

4.4  8084端口的服务器完成接口调用工作,返回网管相应数据内容

4.5  网关返回前端数据内容

5.总结:

网关关注的是前端单端口请求与后端多端口接收的不匹配问题。

feign关注后端多端口之间的调用问题。

nacos关注如何解决后端多端口之间生产者与消费者之间互相无法discover的矛盾。

相关文章:

  • Spring AI 项目实战(十一):Spring Boot +AI + DeepSeek 开发智能教育作业批改系统(附完整源码)
  • 华为OD-2024年E卷-字符串化繁为简[200分] -- python
  • Qt应用中处理Linux信号:实现安全退出的技术指南
  • MySQL 主从同步完整配置示例
  • 虚拟与现实交融视角下定制开发开源AI智能名片S2B2C商城小程序赋能新零售商业形态研究
  • 华为OD机考-网上商城优惠活动-模拟(JAVA 2025B卷)
  • 华为公布《鸿蒙编程语言白皮书》V1.0 版:解读适用场景
  • Ragflow 源码:task_executor.py
  • 数据库(1)-SQL
  • 超详细YOLOv8/11图像菜品分类全程概述:环境、数据准备、训练、验证/预测、onnx部署(c++/python)详解
  • 46- 赎金信
  • VB.NET,C#在线程中修改UI的安全操作
  • Oracle 数据库查询:单表查询
  • Portable Watch:基于STM32的便携智能手表
  • (三十四)深度解析领域特定语言(DSL)第六章——语法分析:第三个案例——优惠规则语法分析器
  • (线性代数最小二乘问题)Normal Equation(正规方程)
  • 跨个体预训练与轻量化Transformer在手势识别中的应用:Bioformer
  • springboot通过独立事务管理器实现资源隔离与精准控制​
  • 2025最新Python 100个常用函数在线体验项目
  • CSP-S 模拟赛一总结(T1、T2)
  • 表情包在线制作网站/链接转二维码
  • 付公司网站建设费用会计分录/seo推广一个月见效
  • 个人做网站多少钱/对seo的理解
  • 网站建设搜索代码/营销网络的建设
  • 网站备案幕布怎么申请/广告软文案例
  • 服装设计学院/看seo