Nepxion Discovery 6.3.3 版发布

发布日志

发布策略

提醒:版本号右边, 表示>=该版本号, 表示<=该版本号
提醒:Spring Boot版本和Spring Cloud Alibaba版本需要在版本号后面加上.RELEASE

版本

状态

SC版本

SB版本

SCA版本

6.3.3

H.SR5 ↑
H
G
F

2.3.x
2.2.x
2.1.x
2.0.x

2.2.x
2.2.x
2.1.x
2.0.x

5.6.0

G

2.1.x

2.1.x

4.15.0

F

2.0.x

2.0.x

3.20.3

E

1.5.x

1.5.x

2.0.x

D

1.x.x

N/A

1.0.x

C

1.x.x

N/A

表示维护中 | 表示不维护,但可用,强烈建议升级 | 表示不维护,不可用,已废弃

  • 6.x.x版本(同时适用于Finchley、Greenwich和Hoxton以及未来的更高版本),将继续维护

  • 5.x.x版本(适用于Greenwich)已废弃

  • 4.x.x版本(适用于Finchley)已废弃

  • 3.x.x版本(适用于Edgware)不维护,但可用,强烈建议升级

  • 2.x.x版本(适用于Dalston)已废弃

  • 1.x.x版本(适用于Camden)已废弃

版本变更

无中间件版本变更

依赖变更

管理中心插件依赖独立

如果使用者想使用该插件,需要手工引入。例如,在服务侧的依赖,变更如下

`<dependencies>
    <!-- 1.注册中心插件 -->
    <dependency>
        <groupId>com.nepxion</groupId>
        <artifactId>discovery-plugin-register-center-starter-nacos</artifactId>
        <version>${discovery.version}</version>
    </dependency>

    <!-- 2.配置中心插件 -->
    <dependency>
        <groupId>com.nepxion</groupId>
        <artifactId>discovery-plugin-config-center-starter-nacos</artifactId>
        <version>${discovery.version}</version>
    </dependency>

    <!-- 3.管理中心插件 -->
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>discovery-plugin-admin-center-starter</artifactId>
        <version>${discovery.version}</version>
    </dependency>

    <!-- 4.服务的策略编排插件 -->
    <dependency>
        <groupId>com.nepxion</groupId>
        <artifactId>discovery-plugin-strategy-starter-service</artifactId>
        <version>${discovery.version}</version>
    </dependency>
</dependencies>
`

异步跨线程Agent插件依赖独立

为使异步跨线程Agent插件更具通用性,从Discovery工程独立出去,单独以DiscoveryAgent工程呈现,请访问

https://github.com/Nepxion/DiscoveryAgent

插件入口的包名简化为

discovery-agent-starter-${discovery.agent.version}.jar

并提供相关插件扩展指南示例,请访问

https://github.com/Nepxion/DiscoveryAgentGuide

功能迭代

灰度路由下的版本故障转移

版本故障转移,即无法找到相应版本的服务实例,路由到老的稳定版本的实例。其作用是防止灰度版本路由人为设置错误,或者对应的版本实例发生灾难性的全部下线,导致流量有损

故障转移方式,对版本号进行排序,取第一个版本号,所以此方案的前置条件是必须版本号是规律的有次序,例如,以时间戳的方式。如果所有服务实例的版本号未设置,那么将转移到未设置版本号的实例上

需要通过如下开关开启该功能

# 启动和关闭版本故障转移。缺失则默认为false spring.application.strategy.version.failover.enabled=true

并行灰度路由下的版本偏好策略

版本偏好,即非灰度路由场景下,路由到老的稳定版本的实例。其作用是防止多个网关上并行实施灰度版本路由产生混乱,对处于非灰度状态的服务,调用它的时候,只取它的老的稳定版本的实例;灰度状态的服务,还是根据传递的Header版本号进行匹配

偏好方式,对版本号进行排序,取第一个版本号,所以此方案的前置条件是必须版本号是规律的有次序,例如,以时间戳的方式。如果所有服务实例的版本号未设置,那么将转移到未设置版本号的实例上

需要通过如下开关开启该功能

# 启动和关闭版本偏好。缺失则默认为false spring.application.strategy.version.prefer.enabled=true

增加SLF4J MDC异步Agent插件

需要通过如下开关开启该功能

-Dthread.mdc.enabled=true

增加自定义异步Agent插件开关控制机制

需要通过isEnabled方法覆盖实现开关控制插件生效/失效机制

以MDCPlugin为例,表示thread.mdc.enabled=true的时候,开启该插件

`public class MDCPlugin extends AbstractPlugin {
    private Boolean threadMDCEnabled = Boolean.valueOf(System.getProperty("thread.mdc.enabled", "false"));

    @Override
    protected String getMatcherClassName() {
        return "org.slf4j.MDC";
    }

    @Override
    protected String getHookClassName() {
        return MDCContextHook.class.getName();
    }

    @Override
    protected boolean isEnabled() {
        return threadMDCEnabled;
    }
}
`

缺陷修复

修复IP地址和端口路由的缺陷

遗漏对非Json格式的端口路由Header支持

修复异步场景下域名灰度路由的缺陷

修复异步场景下,Http Request获取RequestURL的空指针异常

相关文档

Discovery【探索】微服务企业级解决方案

① Discovery【探索】微服务企业级解决方案文档

  • Discovery【探索】微服务企业级解决方案(PPT版) : http://nepxion.gitee.io/docs/link-doc/discovery-ppt.html

  • Discovery【探索】微服务企业级解决方案(PDF版) : http://nepxion.gitee.io/docs/link-doc/discovery-pdf.html

  • Discovery【探索】微服务企业级解决方案(HTML版) : http://nepxion.gitee.io/docs/link-doc/discovery-html.html

② Discovery【探索】微服务企业级解决方案源码。请访问Gitee镜像获得最佳体验

  • 源码Gitee同步镜像 : https://gitee.com/Nepxion/Discovery

  • 源码Github原镜像 : https://github.com/Nepxion/Discovery

③ Discovery【探索】微服务企业级解决方案指南示例源码。请访问Gitee镜像获得最佳体验

  • 指南Gitee同步镜像 : https://gitee.com/Nepxion/DiscoveryGuide

  • 指南Github原镜像 : https://github.com/Nepxion/DiscoveryGuide

④ Discovery【探索】微服务框架指南示例说明

  • 对于入门级玩家,参考 指南示例极简版 : https://github.com/Nepxion/DiscoveryGuide/tree/simple,分支为simple。涉及到指南篇里的灰度路由和发布的基本功能, 参考 新手快速入门 : https://gitee.com/nepxion/DiscoveryGuide/blob/simple/GUIDE.md

  • 对于熟练级玩家,参考 指南示例精进版 : https://github.com/Nepxion/DiscoveryGuide/tree/master,分支为master。除上述《极简版》功能外,涉及到指南篇里的绝大多数高级功能

  • 对于骨灰级玩家,参考 指南示例高级版 : https://github.com/Nepxion/DiscoveryGuide/tree/premium,分支为premium。除上述《精进版》功能外,涉及到指南篇里的ActiveMQ、MongoDB、RabbitMQ、Redis、RocketMQ、MySQL等高级调用链和灰度调用链的整合

Polaris【北极星】企业级云原生微服务框架

① Polaris【北极星】企业级云原生微服务框架文档

  • Polaris【北极星】企业级云原生微服务框架(PDF版) : http://nepxion.gitee.io/docs/link-doc/polaris-pdf.html

  • Polaris【北极星】企业级云原生微服务框架(HTML版) : http://nepxion.gitee.io/docs/link-doc/polaris-html.html

② Polaris【北极星】企业级云原生微服务框架源码。请访问Gitee镜像获得最佳体验

  • 源码Gitee同步镜像 : https://gitee.com/polaris-paas/polaris-sdk

  • 源码Github原镜像 : https://github.com/polaris-paas/polaris-sdk

③ Polaris【北极星】企业级云原生微服务框架指南示例源码。请访问Gitee镜像获得最佳体验

  • 指南Gitee同步镜像 : https://gitee.com/polaris-paas/polaris-guide

  • 指南Github原镜像 : https://github.com/polaris-paas/polaris-guide

请联系我

微信、公众号和文档



本文分享自微信公众号 - Nepxion开源社区(iMicroService)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Nepxion Discovery 6.3.3 版发布 - HelloWorld