springcloude gateway的意义

应用场景

1、南北向流量

需要流量网关和微服务网关配合使用,将内部的微服务能力,以统一的 HTTP 接入点对外提供服务。

流量网管主要是接入流量进行负载均衡,上游的微服务网关地址和数量变化不大,对服务发现要求不高。

微服务网关则把外部请求映射到内部的微服务上,微服务的节点地址和数量会经常变化,路由规则变化基本稳定,微服务网关很方便的解决了服务发现。

2、东西向流量

在同一业务域内的微服务通信走的是服务发现机制,通过robbin和Feign即可很好解决上游节点的负载均衡,不需要微服务网关再来提供集中式的服务。

在一些业务量比较大的系统中,可能会按照业务域隔离出一系列的微服务,比如支付和交易两个大的业务域服务,各自可以拆分出来很多的细粒度的微服务,在跨业务域访问的时候希望能够统一提供服务,可以走南北向访问也可以走东西向模式访问,在走东西向的时候则可以借助借助于微服务网关。

比较与未来

springcloud gateway的功能弱爆了,只支持代码和配置文件来配置路由规则,不支持动态配置路由规则(需要自行来实现),实用性不够。

类似apisix这些网关随便拿一个出来都可以干爆springcloud gateway,动态定义路由规则配置不需要重启即可生效,打通Eureka服务发现也早就实现。

上kubenetes后直接就用service来做服务发现了,别说是gateway了,连Eureka都不需要了。

长期看所有的应用上k8s是必然,springcloud gateway必然没落。

相关推荐
pianmian11 小时前
类(JavaBean类)和对象
java
我叫小白菜2 小时前
【Java_EE】单例模式、阻塞队列、线程池、定时器
java·开发语言
Albert Edison2 小时前
【最新版】IntelliJ IDEA 2025 创建 SpringBoot 项目
java·spring boot·intellij-idea
超级小忍3 小时前
JVM 中的垃圾回收算法及垃圾回收器详解
java·jvm
weixin_446122463 小时前
JAVA内存区域划分
java·开发语言·redis
勤奋的小王同学~3 小时前
(javaEE初阶)计算机是如何组成的:CPU基本工作流程 CPU介绍 CPU执行指令的流程 寄存器 程序 进程 进程控制块 线程 线程的执行
java·java-ee
TT哇3 小时前
JavaEE==网站开发
java·redis·java-ee
2401_826097623 小时前
JavaEE-Linux环境部署
java·linux·java-ee
缘来是庄4 小时前
设计模式之访问者模式
java·设计模式·访问者模式
Bug退退退1234 小时前
RabbitMQ 高级特性之死信队列
java·分布式·spring·rabbitmq