当前位置: 首页 > 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的矛盾。

http://www.lryc.cn/news/573553.html

相关文章:

  • Mybatis-Plus支持多种数据库
  • 使用模板创建uniapp提示未关联uniCloud问题
  • LeapMotion-PhysicalHandsManager 类详解
  • 【后端】负载均衡
  • 怎么让二级域名绑定到wordpesss指定的页面
  • Linux系统基本操作指令
  • C++指针(二)
  • 【算法】【优选算法】优先级队列
  • 跨个体预训练与轻量化Transformer在手势识别中的应用:Bioformer
  • 告别线程爆炸:我如何用 Spring WebFlux 构建一个端到端响应式应用
  • 编程基础:调用访问
  • CSP-S 模拟赛一总结(T1、T2)
  • Odoo 17 Many2one字段内联编辑完整实现方案
  • 2025最新Python 100个常用函数在线体验项目
  • 微处理器原理与应用篇---计算机系统的性能测试
  • python中学物理实验模拟:凸透镜成像和凹透镜成像
  • Spring-MyBatis基本操作
  • 软件工程期末试卷简答题版带答案(共21道)
  • Typora文档另存与图片迁移的一种思路
  • JAVA锁机制:对象锁与类锁
  • 【好用但慎用】Windows 系统中将所有 WSL 发行版从 C 盘迁移到 非系统 盘的完整笔记(附 异常处理)
  • 百度萝卜快跑携4颗禾赛激光雷达进军迪拜,千辆L4无人车开启全球化战略
  • IEC61850 通信协议测试验证方法详解
  • 人工智能学习51-ResNet训练
  • Spring AOP全面详讲
  • Python 爬虫案例(不定期更新)
  • 一,python语法教程.内置API
  • 【知识图谱提取】【阶段总结】【LLM4KGC】LLM4KGC项目提取知识图谱推理部分
  • Linux 内核中 TCP 协议栈的输出实现:tcp_output.c 文件解析
  • 【JAVA】数组的使用