
如果您觉得本框架具有一定的参考价值和借鉴意义,请帮忙在页面右上角 [Star]



① Discovery系列
| 框架名称 | 框架版本 | 支持Spring Cloud版本 | 使用许可 |
|---|---|---|---|
| Discovery | 1.x.x ~ 6.x.x | Camden ~ Hoxton | 开源,永久免费 |
| DiscoveryX | 7.x.x + | 2020 + | 闭源,商业许可 |
② Polaris系列
Polaris为Discovery高级定制版,特色功能
| 框架名称 | 框架版本 | 支持Discovery版本 | 支持Spring Cloud版本 | 使用许可 |
|---|---|---|---|---|
| Polaris | 1.x.x | 6.x.x | Finchley ~ Hoxton | 闭源,商业许可 |
| Polaris | 2.x.x | 7.x.x + | 2020 + | 闭源,商业许可 |
有商业版需求的企业和用户,请添加微信1394997,联系作者,洽谈合作事宜
Discovery【探索】企业级云原生微服务开源解决方案
① 快速入门 - 快速入门Github版 - 快速入门Gitee版
③ 最佳实践 - 最佳实践PPT版
④ 平台桌面 - 平台界面WIKI版 - 图形桌面WIKI版
⑤ 框架源码 - 框架源码Github版 - 框架源码Gitee版
⑥ 指南示例源码 - 指南示例源码Github版 - 指南示例源码Gitee版
⑦ 指南示例说明 - Spring Cloud Finchley ~ Hoxton版本 - 极简版指南示例,分支为6.x.x-simple - 极简版域网关部署指南示例,分支为6.x.x-simple-domain-gateway - 极简版非域网关部署指南示例,分支为6.x.x-simple-non-domain-gateway - 集成版指南示例,分支为6.x.x - 高级版指南示例,分支为6.x.x-complex - Spring Cloud 20xx版本 - 极简版指南示例,分支为master-simple - 极简版本地化指南示例,分支为master-simple-native - 集成版指南示例,分支为master
Polaris【北极星】企业级云原生微服务商业解决方案
① 解决方案 - 解决方案WIKI版
② 框架源码 - 框架源码Github版 - 框架源码Gitee版
③ 指南示例源码 - 指南示例源码Github版 - 指南示例源码Gitee版
④ 指南示例说明 - Spring Cloud Finchley ~ Hoxton版本 - 指南示例,分支为1.x.x - Spring Cloud 20xx版本 - 指南示例,分支为master
Discovery【探索】微服务框架,基于Spring Cloud & Spring Cloud Alibaba,Discovery服务注册发现、Ribbon & Spring Cloud LoadBalancer负载均衡、Feign & RestTemplate & WebClient调用、Spring Cloud Gateway & Zuul过滤等组件全方位增强的企业级微服务开源解决方案,更贴近企业级需求,更具有企业级的插件引入、开箱即用特征
① 微服务框架支持的技术栈,如下 - 支持阿里巴巴Spring Cloud Alibaba中间件生态圈 - 支持阿里巴巴Nacos、Eureka、Consul和Zookeeper四个服务注册发现中心 - 支持阿里巴巴Nacos、携程Apollo、Redis、Zookeeper、Consul和Etcd六个远程配置中心 - 支持阿里巴巴Sentinel、Hystrix和Resilience4J三个熔断限流降级权限中间件 - 支持OpenTracing和OpenTelemetry规范下的调用链中间件,Jaeger、SkyWalking和Zipkin等 - 支持Prometheus Micrometer和Spring Boot Admin两个指标中间件 - 支持Java Agent解决异步跨线程ThreadLocal上下文传递 - 支持Spring Spel解决蓝绿灰度参数的驱动逻辑 - 支持Spring Matcher解决元数据匹配的通配逻辑 - 支持Spring Cloud Gateway、Zuul网关和微服务三大模块的蓝绿灰度发布等一系列功能 - 支持和兼容Spring Cloud Edgware版、Finchley版、Greenwich版、Hoxton版和20xx版以及更高的Spring Cloud版本 - 支持和兼容Java8~Java17以及更高的SDK版本

② Discovery【探索】微服务框架支持的应用功能,如下 - 全链路蓝绿灰度发布 - 全链路版本、区域、 IP地址和端口匹配蓝绿发布 - 全链路版本、区域、 IP地址和端口权重灰度发布 - 全链路蓝 | 绿 | 兜底、蓝 | 兜底的蓝绿路由类型 - 全链路稳定、灰度的灰度路由类型 - 全链路网关、服务端到端混合蓝绿灰度发布 - 全链路单网关、域网关、非域网关部署 - 全链路条件驱动、非条件驱动 - 全链路前端触发后端蓝绿灰度发布 - 全局订阅式蓝绿灰度发布 - 全链路自定义网关、服务的过滤器、负载均衡策略类触发蓝绿灰度发布 - 全链路Header、Parameter、Cookie、域名、RPC Method等参数化规则策略驱动 - 全链路本地和远程、局部和全局无参数化规则策略驱动 - 全链路条件表达式、通配表达式支持 - 全链路内置Header,支持定时Job的服务调用蓝绿灰度发布 - 全链路手工编排、智能编排、无编排蓝绿灰度发布 - 全链路自动化测试 - 全链路自动化模拟流程测试 - 全链路自动化模拟流程本地测试 - 全链路自动化模拟流程云上测试 - 全链路自动化流量侦测测试 - 全链路自动化流量侦测本地测试 - 全链路自动化流量侦测云上测试 - 全链路流量管控对接DevOps运维平台 - 全链路多活单元化 - 全链路隔离路由 - 全链路组隔离路由 - 组负载均衡的消费端隔离 - 组Header传值的提供端隔离 - 全链路版本偏好路由 - 全链路区域调试路由 - 全链路环境隔离路由 - 全链路可用区亲和性隔离路由 - 全链路IP地址和端口隔离路由 - 全链路隔离准入 - 基于IP地址黑白名单注册准入 - 基于最大注册数限制注册准入 - 基于IP地址黑白名单发现准入 - 自定义注册发现准入 - 全链路故障转移 - 全链路版本故障转移 - 全链路区域故障转移 - 全链路环境故障转移 - 全链路可用区故障转移 - 全链路IP地址和端口故障转移 - 全链路服务无损下线,实时性的流量绝对无损 - 全局唯一ID屏蔽 - IP地址和端口屏蔽 - 异步场景下全链路蓝绿灰度发布 - 异步跨线程Agent插件 - Hystrix线程池隔离插件 - 网关动态路由 - 路由动态添加 - 路由动态修改 - 路由动态删除 - 路由动态批量更新 - 路由查询 - 路由动态变更后的事件通知 - 全链路服务限流熔断降级权限 - Sentinel基于服务名的防护 - Sentinel基于组的防护 - Sentinel基于版本的防护 - Sentinel基于区域的防护 - Sentinel基于环境的防护 - Sentinel基于可用区的防护 - Sentinel基于IP地址和端口的防护 - Sentinel自定义Header、Parameter、Cookie的防护 - Sentinel自定义业务参数的防护 - Sentinel自定义组合式的防护 - 全链路监控 - 蓝绿灰度埋点和熔断埋点的调用链监控 - 蓝绿灰度埋点和熔断埋点的日志监控 - 熔断埋点的指标监控 - 全链路蓝绿灰度发布编排建模和流量侦测 - 全链路蓝绿发布编排建模 - 全链路灰度发布编排建模 - 全链路蓝绿发布流量侦测 - 全链路灰度发布流量侦测 - 全链路蓝绿灰度发布混合流量侦测 - 全链路数据库和消息队列蓝绿发布 - 基于多DataSource的数据库蓝绿发布 - 基于多Queue的消息队列蓝绿发布 - 全链路服务侧注解 - 元数据流量染色 - 基于Git插件的元数据流量染色 - 基于服务名前缀的元数据流量染色 - 基于启动参数的元数据流量染色 - 基于配置文件的元数据流量染色 - 基于系统参数的元数据流量染色 - 基于POM版本号的元数据流量染色 - 扫描目录 - 自动扫描目录 - 手工扫描目录 - 注入扫描目录 - 规则策略推送 - 基于配置中心的规则策略订阅推送 - 基于Swagger和Rest的规则策略推送 - 基于平台端和桌面端的规则策略推送 - 统一配置订阅执行器

③ Discovery【探索】微服务框架支持的功能维度,如下
微服务框架支持组(Group)、版本(Version)、区域(Region)、环境(Env)、可用区(Zone)、IP地址和端口(Address)、全局唯一ID七大经典维度实施流量管控的方式,通过“并集”方式叠加作用在流量控制上。上述七个维度在功能上各有各的侧重点,如下表格主要讲述各自的区别
| 维度 | 概念 | 场景 | 功能侧重点 | 关键头 |
|---|---|---|---|---|
| 组 | 服务实例的系统ID |
系统逻辑分组 | 路由隔离 | ① 组负载均衡隔离
② 组Header传值策略隔离
③ 不支持故障转移 | n-d-group | | 版本 | 服务实例的版本
适用于生产环境 | 蓝绿灰度发布
路由转移
故障转移 | ① 版本条件匹配蓝绿发布
② 版本权重灰度发布
③ 版本偏好
非蓝绿灰度发布场景下,路由到相应版本的实例
稳定版本策略、指定版本策略
④ 版本故障转移
未找到相应版本的服务实例,路由到其它版本
负载均衡策略、稳定版本策略、指定版本策略 | n-d-version
n-d-version-weight
n-d-version-prefer
n-d-version-failover | | 区域 | 服务实例的区域
适用于多活单元化
适用于多机房
适用于多环境 | 蓝绿灰度发布
同城双活/异地多活
路由转移
故障转移 | ① 区域条件匹配蓝绿发布
② 区域权重灰度发布
③ 区域多活单元化
④ 区域调试路由
⑤ 区域故障转移
未找到相应区域的服务实例,路由到其它区域
负载均衡策略、指定区域策略 | n-d-region
n-d-region-weight
n-d-region-transfer
n-d-region-failover | | 环境 | 服务实例的环境
适用于测试环境 | 路由隔离
故障转移 | ① 环境隔离路由
② 环境故障转移
未找到相应环境的服务实例,路由到其它环境
指定环境(未配置,默认为common)策略 | n-d-env
n-d-env-failover | | 可用区 | 服务实例的可用区
适用于多机房 | 路由隔离
故障转移 | ① 可用区亲和性隔离路由
② 可用区故障转移
未找到相应可用区的服务实例,路由到其它可用区
支持负载均衡策略、指定区可用区策略 | n-d-zone-failover | | IP地址和端口 |服务实例机器地址 | 蓝绿灰度发布
路由隔离
故障转移
无损下线 | ① IP地址和端口匹配蓝绿发布
② IP地址和端口权重灰度发布
③ IP地址和端口故障转移
未找到相应IP地址和端口的服务实例,路由到其它地址
负载均衡策略、指定区IP地址和端口策略
④ IP地址和端口无损下线黑名单屏蔽 | n-d-address
n-d-address-failover
n-d-address-blacklist | | 全局唯一ID | 服务实例机器ID | 无损下线 | ① 全局唯一ID无损下线黑名单屏蔽 | n-d-id-blacklist |

① 微服务框架版本兼容列表,如下
提醒:版本号右边, ↑ 表示>=该版本号, ↓ 表示<=该版本号
| 框架版本 | 框架分支 | 框架状态 | Spring Cloud版本 | Spring Boot版本 | Spring Cloud Alibaba版本 |
|---|---|---|---|---|---|
| 10.0.0 |
商业版 | DiscoveryX/master |
| 2023.x.x | 3.2.x | 2023.x.x.x |
| 9.0.0
商业版 | DiscoveryX/9.x.x |
| 2022.x.x | 3.1.x
3.0.x | 2022.x.x.x | | 8.0.0
商业版 | DiscoveryX/8.x.x |
| 2021.x.x | 2.7.x
2.6.x |
$ claude mcp add Discovery \
-- python -m otcore.mcp_server <graph>