感谢贡献者
- 感谢@CongweiXu贡献的基于Etcd和Consul配置中心的模块
发布日志
发布策略
提醒:版本号右边, ↑
表示>=该版本号, ↓
表示<=该版本号
版本
状态
SC
SB
SCA
7.0.0
202x.x.x
2.4.1 ↑
N/A
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
G
2.1.x
2.1.x
4.15.0
F
2.0.x
2.0.x
3.22.0
E
1.5.x
1.5.x
2.0.x
D
1.x.x
1.5.x
1.0.x
C
1.x.x
1.5.x
表示维护中 | 表示不维护,但可用,强烈建议升级 | 表示不维护,不可用,已废弃
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
获取最新版本
相关文档
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源创计划”,欢迎正在阅读的你也加入,一起分享。