Releases: Nepxion/Discovery
Releases · Nepxion/Discovery
5.1.0(JUN 9, 2019)
Nepxion Discovery 5.1.0 发布
- 升级Apollo到1.4.0
- 升级Caffeine到2.7.0
- 增强兼容性
- 由于Greenwich和Finchley版是兼容的,所以Nepxion Discovery版本对于Greenwich和Finchley版也是通用的,即Greenwich和Finchley版既可以使用5.x.x版,也可以使用4.x.x版
- Edgware存在着不兼容性,必须使用3.x.x版
- 把网关默认路由策略过滤器抽象到框架层,同时增加如下配置
# 开启和关闭内置的路由策略过滤器。一旦关闭,基于配置中心的路由策略定义将失效,只能通过前端的路由策略通过Header传递方式。缺失则默认为true
# spring.application.strategy.zuul.route.filter.enabled=true
- Console Desktop包含如下变更
- 去除RouterEndpoint的获取RouterEntity树接口中的customMap,在Console Desktop界面上改由“查看规则”功能来代替
- Console Desktop界面在灰度路由未开始之前,增加默认起始节点
- 优化网关端灰度路由示例
4.9.0(JUN 9, 2019)
Nepxion Discovery 4.9.0 发布
- 升级Apollo到1.4.0
- 升级Caffeine到2.7.0
- 增强兼容性
- 由于Greenwich和Finchley版是兼容的,所以Nepxion Discovery版本对于Greenwich和Finchley版也是通用的,即Greenwich和Finchley版既可以使用5.x.x版,也可以使用4.x.x版
- Edgware存在着不兼容性,必须使用3.x.x版
- 把网关默认路由策略过滤器抽象到框架层,同时增加如下配置
# 开启和关闭内置的路由策略过滤器。一旦关闭,基于配置中心的路由策略定义将失效,只能通过前端的路由策略通过Header传递方式。缺失则默认为true
# spring.application.strategy.zuul.route.filter.enabled=true
- Console Desktop包含如下变更
- 去除RouterEndpoint的获取RouterEntity树接口中的customMap,在Console Desktop界面上改由“查看规则”功能来代替
- Console Desktop界面在灰度路由未开始之前,增加默认起始节点
- 优化网关端灰度路由示例
3.9.0(JUN 9, 2019)
Nepxion Discovery 3.9.0 发布
- 支持支持Spring Cloud Edgware.SR6
- 升级Apollo到1.4.0
- 升级Caffeine到2.7.0
- 增强兼容性
- 由于Greenwich和Finchley版是兼容的,所以Nepxion Discovery版本对于Greenwich和Finchley版也是通用的,即Greenwich和Finchley版既可以使用5.x.x版,也可以使用4.x.x版
- Edgware存在着不兼容性,必须使用3.x.x版
- 把网关默认路由策略过滤器抽象到框架层,同时增加如下配置
# 开启和关闭内置的路由策略过滤器。一旦关闭,基于配置中心的路由策略定义将失效,只能通过前端的路由策略通过Header传递方式。缺失则默认为true
# spring.application.strategy.zuul.route.filter.enabled=true
- Console Desktop包含如下变更
- 去除RouterEndpoint的获取RouterEntity树接口中的customMap,在Console Desktop界面上改由“查看规则”功能来代替
- Console Desktop界面在灰度路由未开始之前,增加默认起始节点
- 优化网关端灰度路由示例
5.0.8(JUN 3, 2019)
Nepxion Discovery 5.0.8 发布
- 支持在网关过滤器中从远程配置中心获取路由信息配置,并全链路传递到服务端
- Spring Cloud Gateway路由过滤器抽象进框架,用GatewayStrategyRouteFilter来替代,使用者通过@bean方式初始化它
- 增加Spring Cloud Gateway路由策略过滤器的执行顺序配置项。次序由-400改为9000,并提供如下的配置项,改变Order值
# 路由策略过滤器的执行顺序(Order)。缺失则默认为9000
# spring.application.strategy.gateway.route.filter.order=9000
- Zuul路由过滤器抽象进框架,用ZuulStrategyRouteFilter来替代,使用者通过@bean方式初始化它
- 增加Zuul路由策略过滤器的执行顺序配置项。提供如下的配置项,改变Order值
# 路由策略过滤器的执行顺序(Order)。缺失则默认为0
# spring.application.strategy.zuul.route.filter.order=0
- 增加Spring Cloud Gateway兼容Hystrix的线程隔离的处理逻辑
- 优化和修复随机权重的算法
- 增加StrategyContextHolder接口,增加AbstractDiscoveryEnabledStrategy抽象类,基于Header进行自定义路由更加方便。DiscoveryEnabledStrategy的apply接口更加简化(微小不兼容),去掉了Map<String, String> metadata参数,使用者可以通过pluginAdapter.getServerMetadata(server)方式可以获取到
- 优化示例的Pom引入方式,让使用者可以自主选择Spring Cloud和Spring Boot的依赖版本
- 修改网关端灰度路由示例
- 修正配置上的小错误
- 增加Postman脚本,以供使用者导入使用
- 优化异常日志输出
4.8.13(JUN 3, 2019)
见 Nepxion Discovery 5.0.8 发布
3.8.13(JUN 3, 2019)
见 Nepxion Discovery 5.0.8 发布
5.0.1(MAY 12, 2019)
Nepxion Discovery 5.0.1 发布
- 增加从Zuul Filter获取Header的方式
- 简化服务和网关上下文获取Header的方式。例如
String token = zuulStrategyContextHolder.getHeader("token");
- 增强灰度路由的入口
路由策略的入口有三个(以如下版本路由为例)
{"discovery-springcloud-example-a":"1.0", "discovery-springcloud-example-b":"1.0", "discovery-springcloud-example-c":"1.0;1.2"}
1)从外界传入(例如:Postman),在Header上加入
n-d-version={"discovery-springcloud-example-a":"1.0", "discovery-springcloud-example-b":"1.0", "discovery-springcloud-example-c":"1.0;1.2"}
2)在网关Zuul或者Spring Cloud Gateway的Filter中指定
3)全链路路由策略的灰度发布规则,在配置中心或者本地rule.xml配置
其作用的优先级为外界传入>网关Filter指定>配置中心或者本地rule.xml配置
- 增加Spring Cloud Gateway和Hystrix整合。但未发布版本,功能可以在Finchley-Gateway-Hystrix获取
4.8.7(MAY 12, 2019)
见 Nepxion Discovery 5.0.1 发布
3.8.7(MAY 12, 2019)
见 Nepxion Discovery 5.0.1 发布
5.0.0(APR 24, 2019)
Nepxion Discovery 5.0.0 发布
- 支持Spring Cloud Greenwich.SR1
- 支持Spring Boot 2.1.4.RELEASE
- 升级Spring Cloud Alibaba到0.9.0.RELEASE
- 升级Nacos到1.0.0
- 升级Sentinel到1.5.2
- 升级Apollo到1.3.0
- 升级Spring Boot Admin到2.1.4
- 增加更简洁的全链路路由配置方式,只需在规则中配置如下,即可实现全链路路由。用法跟Header头部传参一致
<rule>
<strategy>
<version>{"discovery-springcloud-example-a":"1.0", "discovery-springcloud-example-b":"1.0", "discovery-springcloud-example-c":"1.0;1.2"}</version>
<!-- <version>1.0</version> -->
<region>{"discovery-springcloud-example-a":"qa;dev", "discovery-springcloud-example-b":"dev", "discovery-springcloud-example-c":"qa"}</region>
<!-- <region>dev</region> -->
<address>{"discovery-springcloud-example-a":"192.168.43.101:1100", "discovery-springcloud-example-b":"192.168.43.101:1201", "discovery-springcloud-example-c":"192.168.43.101:1300"}</address>
</strategy>
</rule>
- 框架内置的三个Http Header加前缀n-d-,避免和业务系统冲突,分别是"n-d-region", "n-d-version", "n-d-address"(该项和旧版本不兼容,需要在调用端修改)
- 元数据Metadata增加服务名,简化调用端获取上游服务的服务名的方式,通过pluginAdapter.getServerServiceId(server)方式获取
- 去掉Rule对象打印,提高性能
- 适配新版Sentinel的@SentinelRestTemplate注解中熔断和快速失败的后续处理方式(见MyRestTemplateBlockHandler.java和MyRestTemplateFallbackHandler.java)
- 优化旗标(Banner)打印,支持彩色(ANSI Color)旗标,该功能需要在IDE里安装ANSI Color插件。支持如下参数,实现对旗标(Banner)的控制:
- nepxion.banner.shown - 开启和关闭旗标(Banner)打印
- nepxion.banner.shown.ansi.mode - 开启和关闭旗标(Banner)彩色显示