springcloude gateway的意义

2023-09-14 16:25:29

应用场景

1、南北向流量

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

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

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

2、东西向流量

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

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

比较与未来

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

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

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

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

更多推荐

Puppeteer无头浏览器:开启自动化之门,掌握浏览器世界的无限可能

大概还是入门期,我曾用Puppeteer做爬虫工具以此来绕过某网站的防爬机制。近期有需求要做任意链接网页截图,像这种场景非常适合用Puppeteer完成。无头浏览器我已知的还有Selenium。完成截图需求踩的最大的坑不是具体的逻辑代码,而是Docker部署Puppeteer到服务器总是缺少某个包。踩坑过程我想另外写一

如何利用软文推广进行SEO优化(打造优质软文,提升网站排名)

在当今的互联网时代,SEO优化成为了网站推广的关键。而软文推广作为一种有效的推广方式,其优点不仅仅局限于SEO,还可以带来更多的曝光和用户流量。本文将深入探讨如何做好软文推广,从而提升网站排名和流量。了解目标受众群体内容在进行软文推广之前,需要对目标受众群体进行详细的了解。包括年龄、性别、职业、喜好等方面,以便准确把握

什么是ELK

什么是ELKELK并不是一个技术框架的名称,它其实是一个三位一体的技术名词,ELK的每个字母都来自一个技术组件,分别是Elasticsearch(简称ES)、Logstash和Kibana。三个技术组件是独立的,后两个被elastic公司收购,通常配合起来使用。ELK的组成部分Elasticsearch:是一个分布式的

使用Docker+Jenkins+Gitee自动化部署SpringBoot项目

目录搭建基础环境1、使用Docker-Compose搭建基础环境2、搭建项目仓库环境,创建Dockerfile文件(2022-12-15更新)3、配置Jenkins3.1、初始化Jenkins3.2、安装核心插件3.3、全局工具配置3.3.1、配置Git。3.3.2、配置Maven3.3.3、配置JDK3.4、配置Gi

项目:UDP聊天室

UDPUDP(UserDatagramProtocol)是一种无连接、不可靠、面向数据报的传输协议。与TCP相比,UDP更加轻量级,不提供像TCP那样的可靠性和流控制机制,但具备较低的通信延迟和较少的开销。UDP具有以下几个特点:1.无连接性:UDP在通信之前不需要进行握手或建立连接,可以直接向目标主机发送数据报。这使

阿里云服务器部署安装hadoop与elasticsearch踩坑笔记

2023-09-1214:00——2023.09.1320:06目录00、软件版本01、阿里云服务器部署hadoop1.1、修改四个配置文件1.1.1、core-site.xml1.1.2、hdfs-site.xml1.1.3、mapred-site.xml1.1.4、yarn-site.xml1.2、修改系统/etc

基于STM32F407ZET6的环境温湿度监控系统(粤嵌GEC-M4)

注意使用事项:开发板如下由于外部晶振是8M,需要修改setup和stm32f4头文件的晶振值。操作如下:system_stm32f4xx.c的254行#definePLL_M8stm32f4xx.h的127行#defineHSE_VALUE((uint32_t)8000000)/*!<ValueoftheExterna

JAVA成员变量首字母小写,第二个字母大写报错问题(原因:Lombok与Spring冲突)

1、问题现象:JAVA类里定义成员变量使用首字母小写,第二个字母大写@Getter@SetterpublicclassBrandQueryObjectextendsQueryObject{privateStringpName;}结果页面报错,无法找到类型为cn.wolfcode.ssm.query.BrandQuery

【css】如何实现自定义滚动悬浮置顶、固定表头

说到固定表头或者滚动置顶,我们需要认识css的两个api的2个属性:position:sticky;position:sticky;是CSS中的一种定位方式。当应用于元素时,该元素在滚动时会固定在父容器的指定位置,直到滚动到达特定的位置或条件满足后,才会取消固定定位。元素的position属性需设置为sticky,同时

高级运维学习(八)Ceph 概述与部署

ceph概述ceph可以实现的存储方式:块存储:提供像普通硬盘一样的存储,为使用者提供“硬盘”文件系统存储:类似于NFS的共享方式,为使用者提供共享文件夹对象存储:像百度云盘一样,需要使用单独的客户端Ceph存储集群至少需要一个Ceph监视器、Ceph管理器和CephOSD(对象存储守护程序)。运行Ceph文件系统客户

《C和指针》笔记29:数组名和指针

看下面的代码intb[10];b[4]的类型是整型,但b的类型又是什么?它所表示的又是什么?一个合乎逻辑的答案是它表示整个数组,但事实并非如此。在C中,在几乎所有使用数组名的表达式中,数组名的值是一个指针常量,也就是数组第1个元素的地址。它的类型取决于数组元素的类型:如果它们是int类型,那么数组名的类型就是“指向in

热文推荐