• 勤奋的樂
    2022-05-10
    向老师请教一个问题,gateway做限流和sentinel限流两者的关系,是配合使用还是二选一? 我的理解是:gateway服务也要像nacos服务中心组册,本质上它也是微服务体系中的一个服务提供者,应该用sentinel统领整个微服务体系,做全局的流量控制,请求经过sentinel粗粒度流量整形后,在gateway中再针对具体的服务规则,进行细粒度的资源调配和请求转发。 不知道我的理解是不是对的,望指正 PS: gitee上最新的代码中找不到request_rate_limiter.lua文件

    作者回复: 蟹腰,先上结论:配合使用。 gateway只能做“外部流量”->“微服务集群”这一道的限流,粒度比较粗狂。sentinel面相的限流维度是“资源”,也就是说它可以在微服务之间调用流转的环节做精细力度的限流,且有多种多样的流控效果。 总之来说网关限流(redis, gateway etc..)是一种相对廉价的粗粒度限流手段,应用sentinel的成本是高于网关限流的,但同时可以获取更灵活+多维度的限流效果 request_rate_limiter是gateway开源代码里的一个文件,同学要到spring cloud的源码库里找哦

    
    5
  • inrtyx
    2022-02-11
    老师,能否讲讲网关如何鉴权?即鉴权时序图

    作者回复: 网关鉴权可以通过oauth实现(spring提供了spring-cloud-starter-oauth2),根据oauth 2.0的规范有很多种不同的对接方式。我推荐一个网站可以进一步了解oauth规范 https://oauth.net/2/

    
    3
  • 黄叶
    2022-02-11
    老师请问下,今天试着写了gateway+vue整合。 vue请求发送给后端,预检通过了但是当真正发送跨域请求时,提示:CORS错误,也配置了gateway跨域 但是就是不成功

    作者回复: 我在想会不会是后台跨域的method列表里只写了Options,没有加上其他方法呢?同学可以把浏览器里的request header(包括Options和后面那个真实请求)发出来我们看下

    共 3 条评论
    1
  • 乘风
    2023-04-14 来自北京
    我怎么没看明白如何测试,是访问哪个地址?

    作者回复: 访问网关应用的port,采用localhost:port/xxxx的方式,后面的xxx是路由规则里配置的path

    
    
  • Geek_8d3106
    2022-04-01
    使用阿里云Redis集群,会报以下错误 Caused by: io.lettuce.core.RedisCommandExecutionException: ERR bad lua script for redis cluster, all the keys that the script uses should be passed using the KEYS array, and KEYS should not be in expression 这是因为阿里云的Redis集群对Lua脚本调用的时候做了限制:所有key都应该由KEYS数组来传递,redis.call/pcall中调用的redis命令,key的位置必须是KEYS array(不能使用Lua变量替换KEYS),否则直接返回错误信息。 不知道是否有好的解决方案?

    作者回复: 忘了阿里云这道坎儿,这个简单,在gateway源码里有一个lua限流脚本,只要本地根据阿里云的要求重写这个脚本,然后指定gateway在auto-config阶段加载你重新定义的这个脚本就行了

    
    
  • peter
    2022-02-12
    请教老师几个问题: Q1:Gateway的限流与sentinel的限流是什么关系? Gateway的限流是替代sentinel的限流吗?或者是相互配合?从“总结”部分来看,老师你是不赞成在Gateway做限流吗? Q2:定义路由规则中的uri用的lb,gateway怎么知道是用的哪一个loadbalancer? 需要配置吗?在哪里配置的? Q3:小鸟游戏用的lua,是主要开发语言,还是辅助开发语言? 小鸟游戏可以在安卓和iOS上运行,那么。Lua有自己的虚拟机吗? Q4:pom文件中加入了actuator依赖,请问actuator可以用来实现对整个微服务系统的监控吗? Q5:跨域设置校验是谁完成的? 在配置文件中设置跨域信息后,是谁负责完成跨域校验的?是SpringBoot完成的吗?还是上层业务代码完成的?我个人理解是SpringBoot完成的,上层业务代码没有看到有相应的处理代码。 Q6:expose-headers表示“被暴露出去的Header属性”,暴露给谁?暴露给浏览器吗? 如果不设置,浏览器获取不到这些属性吗?是用什么方法不暴露的?对字段加密还是禁止访问? Q7:request_rate_limiter.lua,搜不到? 搜索方法:Edit ->Find->Find in Path,但搜不到,为什么?(下载的是最新代码,IDEA2019)
    展开
    共 1 条评论
    15
  • 刚强
    2022-04-18
    postman测试gateway,一直403。调查DefaultCorsProcessor.processRequest方法后发现,CorsUtils.isCorsRequest(request)=true。跨域了,origin=chrome-extension://XXXX。把这个加到yml里面就可以了。
    
    1
  • 王凯
    2023-04-12 来自安徽
    不支持一个路由多个限流规则配置
    
    
  • 小猪丶快跑
    2023-02-18 来自湖南
    完全没搞明白为什么限流是这样配置就可以了???
    
    