Nepxion Discovery 6.6.0 新春版

Stella981
• 阅读 537

Nepxion Discovery 6.6.0 新春版

感谢贡献者

  • 感谢@CongweiXu贡献的基于Etcd和Consul配置中心的模块

发布日志

发布策略

Nepxion Discovery 6.6.0 新春版 提醒:版本号右边, 表示>=该版本号, 表示<=该版本号

版本

状态

SC

SB

SCA

7.0.0

Nepxion Discovery 6.6.0 新春版

202x.x.x

2.4.1 ↑

N/A

6.6.0

Nepxion Discovery 6.6.0 新春版

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

Nepxion Discovery 6.6.0 新春版

G

2.1.x

2.1.x

4.15.0

Nepxion Discovery 6.6.0 新春版

F

2.0.x

2.0.x

3.22.0

Nepxion Discovery 6.6.0 新春版

E

1.5.x

1.5.x

2.0.x

Nepxion Discovery 6.6.0 新春版

D

1.x.x

1.5.x

1.0.x

Nepxion Discovery 6.6.0 新春版

C

1.x.x

1.5.x

Nepxion Discovery 6.6.0 新春版 表示维护中 | Nepxion Discovery 6.6.0 新春版 表示不维护,但可用,强烈建议升级 | Nepxion Discovery 6.6.0 新春版 表示不维护,不可用,已废弃

  • 7.x.x版本(适用于202x.x.x)将继续维护

  • 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)已废弃

版本变更

  • 默认集成Spring Boot版本为2.3.8.RELEASE( 可降级

  • 默认集成Spring Cloud Alibaba为2.2.5.RELEASE( 可降级

  • 默认集成OpenTelemetry版本为0.15.0

  • 默认集成Consul版本为1.4.5

  • 默认集成JEtcd版本为0.5.4

功能迭代

适配新版Nacos

  • 升级到Nacos 1.4.1,修复安全问题

  • 增加Nacos新的配置参数

  • 重构Nacos配置获取方式,静态变量引入更改为动态Properties引入

增加配置中心

  • 增加基于Etcd配置中心

  • 增加基于Consul配置中心

增加网关侧直接进行Feign或者RestTemplate调用场景中蓝绿灰度

  • 重构Feign和RestTemplate拦截器,从discovery-plugin-strategy-starter-service模块移到discovery-plugin-strategy-starter模块

  • StrategyContextHolder增加如下方法,网关层和服务层实现该方法

Enumeration<String> getHeaderNames();

  • 通过如下开关进行控制

# 启动和关闭路由策略的时候,对REST方式的调用拦截。缺失则默认为true spring.application.strategy.rest.intercept.enabled=true

增强服务侧前置过滤

  • 增加服务侧根据URI决策过滤排除

默认为/actuator/,表示Actuator调用不需要执行蓝绿灰度。用户一般不需要配置该项

# 路由策略的时候,执行请求过滤,对指定包含的URI字段进行排除。缺失则默认为/actuator/,如果多个用“;”分隔,不允许出现空格 # spring.application.strategy.uri.filter.exclusion=/actuator/

架构优化

优化Commons模块

  • 简化Commons子模块的包依赖引入

优化和兼容规则策略格式

  • 为准确体现相关变量支持Header、Parameter、Cookie中的任意一个,在6.6.0版本之前,表达式格式为 header="#H['a'] == '1'" ,从6.6.0版本开始,表达式格式改为 expression="#H['a'] == '1'" ,但也兼容 header="#H['a'] == '1'" ,即从6.6.0版本开始,用 expression=""header="" 都支持

优化和兼容元数据

  • 为保持和Spring Cloud 2020兼容,内置元数据Key用“_”代替“.”,相关静态变量从DiscoveryConstant迁移到DiscoveryMetaDataConstant

  • DiscoveryAgent默认内置thread.mdc.enabled为true,使用者不再需要在DiscoveryAgent启动参数上输入-Dthread.mdc.enabled=true这个参数

优化Header取值方式

  • 异步调用下,进行Wrapper的时候,Tomcat会把所有大写的Header改成小写,Undertower不执行这个逻辑,那么Wrapper的时候统一用LinkedCaseInsensitiveMap来缓存Header,实现对大小写不敏感的逻辑

优化注入方式

  • 优化ZoneAvoidanceRuleDecorator类中的注入方式

优化结构

  • 优化某些类名和方法名

  • 优化抽象某些类的@Bean方式

  • 优化类中配置方式

  • 优化相关拦截器获取Header方式

  • 优化@ConditionalOnClass使用方式

  • 删除没有用到且不够优雅的Servlet和Reactive容器判断的方法逻辑,使用者可以通过WebApplicationType获取到容器类型

缺陷修复

  • 修复强绑定配置中心的缺陷

  • 修复潜在可能性的空指针异常

相关下载

DiscoveryAgent下载

访问https://github.com/Nepxion/DiscoveryAgent/releases获取最新版本

DiscoveryDesktop下载

访问https://github.com/Nepxion/DiscoveryUI/releases获取最新版本

相关文档

Nepxion Discovery 6.6.0 新春版 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。涉及到指南篇里的蓝绿灰度发布的基本功能, Nepxion Discovery 6.6.0 新春版 参考 新手快速入门 : 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等高级调用链和蓝绿灰度调用链的整合

Nepxion Discovery 6.6.0 新春版 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 Discovery 6.6.0 新春版
Nepxion Discovery 6.6.0 新春版
Nepxion Discovery 6.6.0 新春版
Nepxion Discovery 6.6.0 新春版

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

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
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
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Stella981 Stella981
2年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这