-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Realize the meituan Oceanus design inside #2
Comments
✅灰度发布
|
✅限流
代办原理org.springframework.cloud.gateway.filter.factory.HystrixGatewayFilterFactory#apply(org.springframework.cloud.gateway.filter.factory.HystrixGatewayFilterFactory.Config) 令牌桶算法
|
✅熔断
|
Oceanus策略结构定义
name:策略名,没有实际意义,可以根据业务场景进行定义。
key:分流时依赖的关键字,比如要根据城市地域进行分发路由时,key就是regionid。
passway:关键字在HTTP协议中的传输方式,可以是Parameter、Cookie、header、body中的一种。
condition:表达式模板,支持四则运算/取模、关系运算符、逻辑运算符等。
group:后端服务集群,即匹配策略后,转发请求的目标节点,一般是策略所属应用集群中的部分节点。
category:策略类型,如果为1,表示某个服务的私有策略;如果为2,表示公共策略,主要用于策略数据管理。
switch:策略开关,用于控制当前策略是在线还是离线。
graylist:灰度列表,用于策略变更的线上灰度校验。
对比
✅name(对应route的id)
❌key(regionid城市分组,分流依赖)
✅passway(对应route的perdicate。cookie,header,query,没有body)
❌condition(表达式模版,支持四则运算/取摸,关系运算符,逻辑运算符等。perdicate只有取摸运算)
✅group(对应可以1. uri固定地址,2. ribbon负载)
❌category(私有策略,公共策略。一个route就相当于一个私有策略,无法公共)
✅switch(修改某个route中的perdicate、filter、uri)
❌graylist()
The text was updated successfully, but these errors were encountered: