Nepxion / Discovery

☀️ Nepxion Discovery is a solution for Spring Cloud with blue green, gray, route, limitation, circuit breaker, degrade, isolation, tracing, dye, failover, active 蓝绿灰度发布、路由、限流、熔断、降级、隔离、追踪、流量染色、故障转移、多活
http://www.nepxion.com
Apache License 2.0
5.64k stars 1.43k forks source link
apollo blue-green-deployment cloud-native consul etcd eureka gray-release hystrix jaeger nacos opentelemetry opentracing redis sentinel skywalking spring-cloud spring-cloud-alibaba spring-cloud-gateway zookeeper zuul

Discovery【探索】云原生微服务解决方案

Total visits License Maven Central Javadocs Build Status Codacy Badge Stars Stars

Wiki Wiki Discovery PPT Discovery Page Discovery Platform Page Discovery Desktop Page Polaris Page

           

如果您觉得本框架具有一定的参考价值和借鉴意义,请帮忙在页面右上角 [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【探索】企业级云原生微服务开源解决方案

① 快速入门

② 解决方案

③ 最佳实践

④ 平台桌面

⑤ 框架源码

⑥ 指南示例源码

⑦ 指南示例说明

Polaris【北极星】企业级云原生微服务商业解决方案

① 解决方案

② 框架源码

③ 指南示例源码

④ 指南示例说明

功能概述

Discovery【探索】微服务框架,基于Spring Cloud & Spring Cloud Alibaba,Discovery服务注册发现、Ribbon & Spring Cloud LoadBalancer负载均衡、Feign & RestTemplate & WebClient调用、Spring Cloud Gateway & Zuul过滤等组件全方位增强的企业级微服务开源解决方案,更贴近企业级需求,更具有企业级的插件引入、开箱即用特征

① 微服务框架支持的技术栈,如下

② Discovery【探索】微服务框架支持的应用功能,如下

③ Discovery【探索】微服务框架支持的功能维度,如下

微服务框架支持组(Group)、版本(Version)、区域(Region)、环境(Env)、可用区(Zone)、IP地址和端口(Address)、全局唯一ID七大经典维度实施流量管控的方式,通过“并集”方式叠加作用在流量控制上。上述七个维度在功能上各有各的侧重点,如下表格主要讲述各自的区别

维度 概念 场景 功能侧重点 关键头
服务实例的系统ID
系统逻辑分组
路由隔离 ① 组负载均衡隔离
- 调用端和提供端的元数据group是否相同
② 组Header传值策略隔离
- Header(n-d-group)和提供端的元数据group是否相同
③ 不支持故障转移
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
环境 服务实例的环境
适用于测试环境
路由隔离
故障转移
① 环境隔离路由
- Header(n-d-env)和提供端的元数据env是否相同
② 环境故障转移
- 未找到相应环境的服务实例,路由到其它环境
- 指定环境(未配置,默认为common)策略
n-d-env
n-d-env-failover
可用区 服务实例的可用区
适用于多机房
路由隔离
故障转移
① 可用区亲和性隔离路由
- 调用端和提供端的元数据zone是否相同
② 可用区故障转移
- 未找到相应可用区的服务实例,路由到其它可用区
- 支持负载均衡策略、指定区可用区策略
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
2021.x.x.x
7.0.0
商业版
DiscoveryX/7.x.x 2020.x.x 2.5.x
2.4.1
2021.x
6.22.0 Discovery/6.x.x Hoxton.SR5
Hoxton
Greenwich
Finchley
2.3.x.RELEASE
2.2.x.RELEASE
2.1.x.RELEASE
2.0.x.RELEASE
2.2.7.RELEASE
6.12.12 Discovery/6.x.x Hoxton.SR5
Hoxton
Greenwich
Finchley
2.3.x.RELEASE
2.2.x.RELEASE
2.1.x.RELEASE
2.0.x.RELEASE
2.2.6.RELEASE
2.1.x.RELEASE
2.0.x.RELEASE
5.6.0 Discovery/5.x.x Greenwich 2.1.x.RELEASE 2.1.x.RELEASE
4.15.0 Discovery/4.x.x Finchley 2.0.x.RELEASE 2.0.x.RELEASE
3.40.0 Discovery/3.x.x Edgware 1.5.x.RELEASE 1.5.x.RELEASE
2.0.x Discovery/2.x.x Dalston 1.x.x.RELEASE 1.5.x.RELEASE
1.0.x Discovery/1.x.x Camden 1.x.x.RELEASE 1.5.x.RELEASE

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

② 相关中间件版本列表,如下

组件类型 组件版本
基础组件 Guava
Caffeine
Redisson
Dom4J
Swagger
Swagger
注册配置组件 Apollo
Zookeeper Curator
Consul
JEtcd
Nacos
Eureka
Redis
Redisson
防护组件 Sentinel
Hystrix
监控组件 SkyWalking
OpenTelemetry
OpenTracing
OpenTracing%20Spring%20Cloud
OpenTracing%20Jaeger
OpenTracing%20Concurrent
Spring Boot
Spring组件 Alibaba Spring
Spring Cloud
Spring Cloud Alibaba
Spring Boot

企业用户

不完全统计,目前社区开源项目(包括本框架以及关联框架或组件)已经被如下公司使用或者调研

为提供更好的专业级服务,请更多已经使用本框架的公司和企业联系我,并希望在Github Issues上登记

落地案例

① 某大型银行信用卡新核心系统在生产环境接入Nepxion Discovery框架的服务实例数(包括异地双活,同城双活,多机房全部汇总)将近10000个

② 某大型互联网教育公司在生产环境接入Nepxion Discovery框架的服务实例数截至到2021年2月已达到2600多个,基本接入完毕

郑重致谢

请联系我

微信、钉钉、公众号和文档

Star走势图

Stargazers over time