# DiscoveryPlatform
**Repository Path**: rockyhua/DiscoveryPlatform
## Basic Information
- **Project Name**: DiscoveryPlatform
- **Description**: ☀️ Nepxion DiscoveryPlatform is a platform for Nepxion Discovery with service governance, blue green and gray release orchestration, modelling, flow inspection 服务治理、蓝绿灰度发布编排建模、流量侦测的平台
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: feature
- **Homepage**: http://www.nepxion.com
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 48
- **Created**: 2021-11-11
- **Last Updated**: 2021-11-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README

# Discovery【探索】云原生微服务解决方案
 [](https://tokei.rs/b1/github/Nepxion/Discovery?category=lines) [](https://github.com/Nepxion/Discovery/blob/6.x.x/LICENSE) [](https://search.maven.org/artifact/com.nepxion/discovery) [](http://www.javadoc.io/doc/com.nepxion/discovery-plugin-framework-starter) [](https://travis-ci.org/Nepxion/Discovery) [](https://www.codacy.com/gh/Nepxion/Discovery/dashboard?utm_source=github.com&utm_medium=referral&utm_content=Nepxion/Discovery&utm_campaign=Badge_Grade) [](https://github.com/Nepxion/Discovery/stargazers) [](https://gitee.com/Nepxion/Discovery/stargazers)
[](https://search.maven.org/artifact/org.springframework.boot/spring-boot-dependencies) [](https://search.maven.org/artifact/org.springframework.cloud/spring-cloud-dependencies) [](https://search.maven.org/artifact/com.alibaba.cloud/spring-cloud-alibaba-dependencies) [](https://search.maven.org/artifact/com.nepxion/discovery)
[](http://nepxion.gitee.io/discovery/docs/link-doc/discovery-ppt.html) [](http://nepxion.gitee.io/discovery/) [](http://nepxion.gitee.io/discoveryplatform) [](http://polaris-paas.gitee.io/polaris-sdk)
如果您觉得本框架具有一定的参考价值和借鉴意义,请帮忙在页面右上角 [**Star**]
 首席作者简介
- Nepxion开源社区创始人
- 2020年阿里巴巴中国云原生峰会出品人
- 2020年被Nacos和Spring Cloud Alibaba纳入相关开源项目
- 2021年阿里巴巴技术峰会上海站演讲嘉宾
- 2021年荣获陆奇博士主持的奇绩资本,进行风险投资的关注和调研
- 2021年入选Gitee最有价值开源项目
- Nacos Group Member、Spring Cloud Alibaba Member
- Spring Cloud Alibaba、Nacos、Sentinel、OpenTracing Committer & Contributor


 商业化合作
① Discovery系列
| 框架名称 | 框架版本 | 支持Spring Cloud版本 | 使用许可 |
| --- | --- | --- | --- |
| Discovery | 1.x.x ~ 6.x.x | Camden ~ Hoxton | 开源,永久免费 |
| DiscoveryX | 7.x.x | 202x | 闭源,商业许可 |
② Polaris系列
Polaris为Discovery高级定制版,特色功能
- 基于Nepxion Discovery集成定制
- 多云、多活、多机房流量调配
- 跨云动态域名、跨环境适配
- DCN、DSU、SET单元化部署
- 组件灵活装配、配置对外屏蔽
- 极简低代码PaaS平台
| 框架名称 | 框架版本 | 支持Discovery版本 | 支持Spring Cloud版本 | 使用许可 |
| --- | --- | --- | --- | --- |
| Polaris | 1.x.x | 6.x.x | Finchley ~ Hoxton | 闭源,商业许可 |
| Polaris | 2.x.x | 7.x.x | 202x | 闭源,商业许可 |
有商业版需求的企业和用户,请添加微信1394997,联系作者,洽谈合作事宜
 Discovery【探索】企业级云原生微服务开源解决方案
① 解决方案
- [解决方案WIKI版](http://nepxion.com/discovery)
- [解决方案PPT版](http://nepxion.gitee.io/discovery/docs/link-doc/discovery-ppt.html)
② 平台界面
- [平台界面WIKI版](http://nepxion.com/discovery-platform)
③ 快速入门
- [快速入门Github版](https://github.com/Nepxion/Discovery/wiki)
- [快速入门Gitee版](https://gitee.com/Nepxion/Discovery/wikis/pages)
④ 框架源码
- [框架源码Github版](https://github.com/Nepxion/Discovery)
- [框架源码Gitee版](https://gitee.com/Nepxion/Discovery)
⑤ 指南示例源码
- [指南示例源码Github版](https://github.com/Nepxion/DiscoveryGuide)
- [指南示例源码Gitee版](https://gitee.com/Nepxion/DiscoveryGuide)
⑥ 指南示例说明
- 对于入门级玩家,参考[6.x.x指南示例极简版](https://github.com/Nepxion/DiscoveryGuide/tree/6.x.x-simple),分支为6.x.x-simple
- 对于熟练级玩家,参考[6.x.x指南示例精进版](https://github.com/Nepxion/DiscoveryGuide/tree/6.x.x),分支为6.x.x。除上述《极简版》功能外,涉及到指南篇里的绝大多数高级功能
- 对于骨灰级玩家,参考[6.x.x指南示例高级版](https://github.com/Nepxion/DiscoveryGuide/tree/6.x.x-complex),分支为6.x.x-complex。除上述《精进版》功能外,涉及到指南篇里的ActiveMQ、MongoDB、RabbitMQ、Redis、RocketMQ、MySQL等高级调用链和蓝绿灰度调用链的整合
- 上述指南实例分支是针对Spring Cloud旧版本。对于Spring Cloud 202x版本,参考[7.x.x指南示例精进版](https://github.com/Nepxion/DiscoveryGuide/tree/master),分支为master
 Polaris【北极星】企业级云原生微服务商业解决方案
① 解决方案
- [解决方案WIKI版](http://nepxion.com/polaris)
② 框架源码
- [框架源码Github版](https://github.com/polaris-paas/polaris-sdk)
- [框架源码Gitee版](https://gitee.com/polaris-paas/polaris-sdk)
③ 指南示例源码
- [指南示例源码Github版](https://github.com/polaris-paas/polaris-guide)
- [指南示例源码Gitee版](https://gitee.com/polaris-paas/polaris-guide)
④ 指南示例说明
- Spring Cloud旧版本,参考[1.x.x指南示例](https://github.com/polaris-paas/polaris-guide/tree/1.x.x),分支为1.x.x
- Spring Cloud新版本,参考[2.x.x指南示例](https://github.com/polaris-paas/polaris-guide/tree/master),分支为master
 Discovery【探索】和Polaris【北极星】架构体系
① Discovery【探索】和Polaris【北极星】联合架构图

② Discovery【探索】和Polaris【北极星】联合拓扑图

③ Polaris【北极星】分层架构图

④ Discovery【探索】实施方案图

⑤ Discovery【探索】域网关实施图

⑥ Discovery【探索】非域网关实施图

⑦ Discovery【探索】全局订阅实施图

⑧ Discovery【探索】配置中心发布订阅图

## 简介
### 功能概述
Nepxion Discovery Platform基于Nepxion Discovery 6.x.x版和Spring Cloud Hoxton版制作,也支持和兼容Spring Cloud Edgware版 ~ 202x版接入,支持如下功能
- 支持四个注册中心
- 支持六个配置中心
- 支持MySQL数据库和H2内存数据库,用户可以无缝扩展到其它数据库(例如,Oracle)
- 支持数据库方式登录和Ldap方式登录
- 支持Shiro和JWT的登录以及鉴权
- 支持管理员/角色/权限配置
- 支持页面配置,在线添加、删除、修改各类中间件主页或者业务系统主页的集成以及跳转
- 支持蓝绿灰度链路编排
- 支持链路单写数据,采用类似Apollo版本控制模式,界面标识增/删/改标识,通过发布方式达到数据库和配置中心最终数据一致性
- 支持版本和区域维度链路编排
- 支持蓝绿灰度混合发布
- 支持蓝绿灰度策略双写数据库和配置中心,采用类似Apollo版本控制模式,界面标识增/删/改标识,通过发布方式达到数据库和配置中心最终数据一致性
- 支持版本和区域维度蓝绿灰度
- 支持蓝绿灰度策略启用/禁用模式
- 支持蓝绿灰度策略多实例动态路由一致性检查
- 支持网关、服务、组为入口
- 支持全局兜底、蓝绿兜底、灰度兜底策略编排
- 支持无限级蓝绿灰度策略编排
- 支持自定义蓝绿条件策略
- 支持蓝绿条件策略校验
- 支持内置Header
- 支持双网关动态路由
- 支持网关动态路由双写数据库和配置中心,采用类似Apollo版本控制模式,界面标识增/删/改标识,通过发布方式达到数据库和配置中心最终数据一致性
- 支持网关动态路由启用/禁用模式
- 支持网关动态路由多实例一致性检查
- 支持Spring Cloud Gateway内置断言器(基于Path、Host、Header、Cookie、Query、Method、RemoteAddr、Weight等无代码方式)和过滤器(基于StripPrefix、PrefixPath、RewritePath、RequestRateLimiter、CircuitBreaker、AddRequestHeader、AddRequestParameter、AddResponseHeader、RedirectTo等无代码方式)
- 支持用户自定义断言器和过滤器,可以实现类似Access Token、网页访问黑/白名单,自定义用户数据(List和Map结构)过滤等低代码方式
- 支持Zuul网关内置动态路由
- 支持服务负载屏蔽的黑名单实例摘除
- 支持黑名单双写数据库和配置中心,采用类似Apollo版本控制模式,界面标识增/删/改标识,通过发布方式达到数据库和配置中心最终数据一致性
- 支持黑名单启用/禁用模式
- 支持黑名单多实例一致性检查
- 基于时间戳前缀的全局唯一ID黑名单
- 基于IP地址和端口黑名单
- 支持界面显示所连的注册中心和配置中心
请访问[https://github.com/Nepxion/DiscoveryPlatform](https://github.com/Nepxion/DiscoveryPlatform)获取源码和示例
### 郑重致谢
感谢如下小伙伴参与本平台的开发、测试和部署。下面名单根据加入次序进行排序
- 张宁
- 付向阳
- 刘辉
- 赵胜杰
- 任学会
- 肖龙
- 伊安娜
### 请联系我
微信、钉钉、公众号和文档

## 目录
- [简介](#简介)
- [功能概述](#功能概述)
- [郑重致谢](#郑重致谢)
- [请联系我](#请联系我)
- [工程架构](#工程架构)
- [工程清单](#工程清单)
- [配置清单](#配置清单)
- [架构核心](#架构核心)
- [依赖引入](#依赖引入)
- [环境搭建](#环境搭建)
- [云环境体验](#云环境体验)
- [云环境平台登录](#云环境平台登录)
- [云环境调用验证](#云环境调用验证)
- [本地环境搭建](#本地环境搭建)
- [运行示例](#运行示例)
- [启动平台](#启动平台)
- [本地环境平台登录](#本地环境平台登录)
- [本地环境调用验证](#本地环境调用验证)
- [平台登录](#平台登录)
- [主页](#主页)
- [服务发布](#服务发布)
- [链路编排](#链路编排)
- [新增链路](#新增链路)
- [发布链路](#发布链路)
- [删除链路](#删除链路)
- [编辑链路](#编辑链路)
- [蓝绿灰度发布](#蓝绿灰度发布)
- [新增蓝绿灰度](#新增蓝绿灰度)
- [发布蓝绿灰度](#发布蓝绿灰度)
- [删除蓝绿灰度](#删除蓝绿灰度)
- [编辑蓝绿灰度](#编辑蓝绿灰度)
- [启用和禁用蓝绿灰度](#启用和禁用蓝绿灰度)
- [查看蓝绿灰度拓扑图](#查看蓝绿灰度拓扑图)
- [查看正在工作的蓝绿灰度](#查看正在工作的蓝绿灰度)
- [流量侦测](#流量侦测)
- [实例管理](#实例管理)
- [实例信息](#实例信息)
- [实例摘除](#实例摘除)
- [新增黑名单](#新增黑名单)
- [发布黑名单](#发布黑名单)
- [删除黑名单](#删除黑名单)
- [启用和禁用黑名单](#启用和禁用黑名单)
- [查看正在工作的黑名单](#查看正在工作的黑名单)
- [路由配置](#路由配置)
- [Gateway网关路由](#Gateway网关路由)
- [新增Gateway网关路由](#新增Gateway网关路由)
- [发布Gateway网关路由](#发布Gateway网关路由)
- [删除Gateway网关路由](#删除Gateway网关路由)
- [编辑Gateway网关路由](#编辑Gateway网关路由)
- [启用和禁用Gateway网关路由](#启用和禁用Gateway网关路由)
- [查看正在工作的Gateway网关路由](#查看正在工作的Gateway网关路由)
- [Zuul网关路由](#Zuul网关路由)
- [新增Zuul网关路由](#新增Zuul网关路由)
- [发布Zuul网关路由](#发布Zuul网关路由)
- [删除Zuul网关路由](#删除Zuul网关路由)
- [编辑Zuul网关路由](#编辑Zuul网关路由)
- [启用和禁用Zuul网关路由](#启用和禁用Zuul网关路由)
- [查看正在工作的Zuul网关路由](#查看正在工作的Zuul网关路由)
- [基础应用](#基础应用)
- [系统设置](#系统设置)
- [页面设置](#页面设置)
- [授权配置](#授权配置)
- [管理员配置](#管理员配置)
- [新增管理员](#新增管理员)
- [删除管理员](#删除管理员)
- [编辑管理员](#编辑管理员)
- [重置管理员密码](#重置管理员密码)
- [角色配置](#角色配置)
- [新增角色](#新增角色)
- [删除角色](#删除角色)
- [编辑角色](#编辑角色)
- [权限配置](#权限配置)
- [Star走势图](#Star走势图)
## 工程架构
### 工程清单
| 工程名 | 描述 |
| --- | --- |
|
discovery-platform-server | 平台服务端模块目录 |
|
discovery-platform-starter-server | 平台服务端的Starter |
|
discovery-platform-starter-server-mysql | 平台服务端数据库MySQL插件的Starter |
|
discovery-platform-starter-server-h2 | 平台服务端H2插件的Starter|
|
discovery-platform-starter-server-ldap | 平台服务端Ldap插件的Starter|
|
discovery-platform-starter-server-ui | 平台服务端界面 |
|
discovery-platform-client | 平台服务端模块目录 |
|
discovery-platform-starter-client | 平台客户端的Starter |
|
discovery-platform-common | 平台通用模块目录 |
|
discovery-platform-starter-common-dingding | 封装钉钉通用操作逻辑的Starter |
|
discovery-platform-starter-common-mail | 封装邮件通用操作逻辑的Starter |
|
discovery-platform-application | 平台服务端可执行应用 |
### 配置清单
配置文件位于discovery-platform-application/目录下
| 配置文件 | 描述 |
| --- | --- |
|
pom.xml | 切换注册中心、配置中心、数据库等依赖引入 |
|
src/main/resources/bootstrap.properties | 平台微服务配置,例如:注册中心和配置中心等跟微服务相关的配置 |
|
src/main/resources/application.properties | 平台通用配置,例如:JWT和Ldap等配置 |
|
src/main/resources/application-mysql.properties | 平台MySQL数据库、HikariCP连接池配置 |
|
src/main/resources/application-h2.properties | 平台H2内存数据库、HikariCP链接池配置 |
|
src/main/resources/META-INF/schema-mysql.sql | 平台MySQL数据库创库脚本 |
|
src/main/resources/META-INF/schema-h2.sql | 平台H2内存数据库创库脚本 |
### 架构核心

### 依赖引入
① 服务注册发现依赖引入
服务注册发现中间件的四个插件,必须引入其中一个
```xml
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
```
② 配置中心依赖引入
配置中心中间件的六个插件,选择引入其中一个
```xml
com.nepxion
discovery-console-starter-nacos
```
③ 数据库依赖引入
MySQL数据库和H2内存数据库,选择引入其中一个
```xml
com.nepxion
discovery-platform-starter-server-mysql
```
④ Ldap依赖引入
如果使用者希望通过Ldap方式登录平台,那么需要引入如下依赖
```xml
com.nepxion
discovery-platform-starter-server-ldap
```
## 环境搭建
使用者可以直接使用云环境进行体验,也可以通过本地环境搭建进行体验
### 云环境体验
#### 云环境服务注册发现和配置中心
采用Nacos作为服务注册发现和配置中心
[http://218.78.55.64:8848/nacos](http://218.78.55.64:8848/nacos)
#### 云环境平台登录
浏览器上输入[http://218.78.55.64:6001/platform](http://218.78.55.64:6001/platform),初始用户名和密码为admin/admin
登录页面底部为重要的链接以及快速联系我们的方式

#### 云环境调用验证
通过改变Http Parameter参数验证蓝绿灰度等一系列功能,例如,在浏览器上输入如下地址,根据a值的改变,观测返回的调用结果是否符合预期
[http://218.78.55.64:5001/discovery-guide-service-a/invoke/gateway?a=1](http://218.78.55.64:5001/discovery-guide-service-a/invoke/gateway?a=1)
### 本地环境搭建
#### 运行示例
参考《如何快速搭建和运行示例》的Wiki文章
[Gitee Wiki](https://gitee.com/Nepxion/Discovery/wikis/pages?sort_id=4034835&doc_id=1124387)
[Github Wiki](https://gitee.com/Nepxion/Discovery/wikis/pages?sort_id=4034835&doc_id=1124387)
#### 启动平台
使用者可以复制discovery-platform-application目录单独导入IDE或者编译成可执行包运行
选择下面其中一个运行,需要实现确认相关配置的正确性
- PlatformMySqlApplication.java,基于MySql数据库的运行入口
- PlatformH2Application.java,基于H2内存数据库的运行入口
 提醒:基于H2内存数据库模式的平台,需要事先启动H2内存数据库服务器,从如下链接下载、安装并运行
[http://h2database.com/html/download.html](http://h2database.com/html/download.html)
#### 本地环境平台登录
参考[云环境平台登录](#云环境平台登录),把IP地址改成localhost即可
#### 本地环境调用验证
参考[云环境调用验证](#云环境调用验证),把IP地址改成localhost即可
## 主页
## 服务发布
### 链路编排
链路编排,即在全链路蓝绿发布或者灰度发布的过程中,把若干个服务的实例按照版本/区域维度实现编排成N个逻辑链路。举个例子,根据生产环境上服务的版本新旧,编排成新版本链路和旧版本链路,供蓝绿发布进行条件驱动,或者供灰度发布进行百分比驱动
链路编排功能引入,具有如下的意义
- 蓝绿发布和灰度发布混合实施的时候,编排的链路可以供两种发布规则策略共享
- 蓝绿发布和灰度发布结束后,使用者不需要删除发布的规则策略,而是`禁用`它,以便于下一轮发布,不再重复配置,只需要`开启`它,并`发布`即可
- 蓝绿发布和灰度发布下一轮开始时,条件策略等未改变,只是改变链路中的服务列表,使用者只需要直接编辑`链路编排`中的相关链路,并`发布`即可
导航栏上选择〔服务发布〕/〔链路编排〕,进入链路编排界面

#### 新增链路
①〔链路编排〕界面的工具栏上,点击
按钮,弹出相应的对话框
② 产生〔链路标识〕
链路标识由系统自动产生,格式为route-`序号`,全局唯一,它将作为蓝绿灰度发布时候被策略绑定的唯一标识
③ 确定〔策略类型〕
策略类型,包括`版本`和`区域`。如果选择`版本`,则按照`版本`维度进行链路编排;如果选择`区域`,则按照`区域`维度进行链路编排。下文以〔版本〕为例
④ 编辑链路列表
包括如下步骤
- 选择〔服务名〕,通过下拉的服务列表进行选择,使用者也可以通过手工输入自动匹配方式进行选择
- 选择〔版本〕,通过下拉的版本号列表进行选择,使用者也可以通过手工输入自动匹配方式进行选择
- 刷新链路〔服务名〕和〔版本〕下拉列表,点击〔操作〕列下的
按钮进行刷新
- 增加链路,点击〔操作〕列下的
按钮进行增加
- 删除链路,点击〔操作〕列下的
按钮进行删除

⑤ 执行保存
上述操作执行完毕后,点击
按钮进行保存
#### 发布链路
执行保存后,主界面会把该条数据进行标识,〔状态〕列上显示
,〔链路标识〕列上显示
〔链路编排〕界面的工具栏上,点击
按钮进行发布
执行发布后,主界面会把该条数据进行标识,〔状态〕列上显示
 提醒:一般情况下,新增链路不需要执行发布,当蓝绿灰度发布的时候,会连带执行链路发布。但是,当链路进行了修改的时候,可以通过链路发布自下而上进行蓝绿灰度发布
#### 删除链路
〔链路编排〕界面的表格上,打勾选择需要删除的一项或者多项
〔链路编排〕界面的工具栏上,点击
按钮进行删除
执行删除后,主界面会把该条数据进行标识,〔状态〕列上显示
,〔链路标识〕列上显示
接下去执行[发布链路](#发布链路)
 提醒:当链路被蓝绿灰度绑定的时候,不能执行删除
#### 编辑链路
〔链路编排〕界面的表格上,点击〔操作〕列下的
按钮进行编辑,操作模式和过程与[新增链路](#新增链路)类似
执行编辑后,主界面会把该条数据进行标识,〔状态〕列上显示
,〔入口名称〕列上显示
接下去执行[发布链路](#发布链路)
### 蓝绿灰度
导航栏上选择〔服务发布〕/〔蓝绿灰度〕,进入蓝绿灰度发布界面

#### 新增蓝绿灰度
①〔蓝绿灰度〕界面的工具栏上,点击
或者
按钮,弹出相应的对话框。下文以〔版本蓝绿灰度〕为例

② 确定〔入口类型〕和〔入口名称〕
入口类型,包括`网关`、`服务`和`组`,使用者在三个选项中选择一个,大多数场景会采用`网关`为入口类型
- `网关`和`服务`属于局部订阅模式,即把蓝绿灰度的规则策略推送到指定的网关或者服务上,只有`入口名称`下拉框所选择的网关(或者服务)才能订阅该规则策略
- `组`属于全局订阅模式,即把蓝绿灰度的规则策略推送到指定的组上,只有`入口名称`下拉框所选择的组下的所有网关和服务才能订阅该规则策略
入口名称,通过下拉的网关、服务或者组列表进行选择,使用者也可以通过手工输入自动匹配方式进行选择。使用者可以通过右边的
按钮进行刷新
③ 添加和删除策略
策略,包括`全局兜底策略`、`蓝绿兜底策略`、`蓝绿策略`、`灰度兜底策略`和`灰度策略`,平台默认给出一个`蓝绿兜底策略`和两个`蓝绿策略`的经典场景,使用者可以根据实际场景,增加和删除策略
兜底策略和非兜底策略的区别是,前者不带条件驱动,后者带条件驱动。为增加不同策略的辨识度,每个选项卡上前置图标用来区分,参考下表
| 图标 | 标识 |
| --- | --- |
|
| 兜底策略 |
|
| 蓝绿策略 |
|
| 灰度策略 |
 提醒:所有`全局兜底策略`、`蓝绿兜底策略`和`灰度兜底策略`可以缺失,但只能生效一个;`蓝绿策略`和`灰度策略`可以缺失,但可以无数个。这五种策略的执行逻辑和优先级,参考如下的蓝绿灰度混合发布执行逻辑图

〔策略配置〕工具栏上,点击如下按钮进行相关操作
1.〔添加全局兜底策略〕,点击
按钮,添加全局兜底策略

〔链路选取〕在[链路编排](#链路编排)中创建的链路标识,通过下拉的列表进行选择,使用者也可以通过手工输入自动匹配方式进行选择。使用者可以通过右边的
按钮进行刷新
2.〔添加蓝绿兜底策略〕,点击
按钮,添加蓝绿兜底策略

操作模式和过程跟`〔添加全局兜底策略〕`一致
3.〔添加蓝绿策略〕,点击
按钮,添加蓝绿策略。当使用者每添加一个蓝绿策略,选项卡会自动在蓝绿策略标题后数字加一

蓝绿策略配置,包括`条件设置`和`链路选取`两部分
`条件设置`,包括如下步骤
- 输入〔参数名〕,参数名即进行条件驱动的`Header`、`Parameter`、`Cookie`参数
- 选择〔运算符〕,通过下拉的运算符列表进行选择,包括等于`=`、不等于`!=`、大于`>`、大于等于`>=`、小于`<`、小于等于`<=`、匹配`matches`七种运算符
- 选择〔关系符〕,通过下拉的关系符进行选择,包括与`and`、或`or`两种关系符
- 输入〔值〕,值即进行条件驱动的`Header`、`Parameter`、`Cookie`参数的值
- 增加〔条件〕,点击〔操作〕列下的
按钮进行增加
- 删除〔条件〕,点击〔操作〕列下的
按钮进行删除
- 执行〔聚合〕条件,条件文本框里的表达式会通过上述操作自动聚合,如果一旦鼠标键盘事件事件问题,使用者也可以点击
按钮进行手工聚合
- 执行〔校验〕条件,当表达式组合项很多,使用者难以确定组合表达式是否正确,可以通过〔校验〕功能进行校验,点击
按钮弹出对话框,给参数赋值,看校验条件是否能通过
- 执行〔自定义条件〕,当上述〔运算符〕和〔关系符〕仍旧无法满足使用者的需求,那么使用者可以自定义条件,在条件文本框输入符合`Spel`规范的表达式即可

`链路选取`,操作模式和过程跟`〔添加全局兜底策略〕`一致
4.〔添加灰度兜底策略〕,点击
按钮,添加灰度兜底策略

只需要〔流量配比〕若干条链路的百分比即可,包括如下步骤
- 选取在[链路编排](#链路编排)中创建的链路标识,通过下拉的列表进行选择,使用者也可以通过手工输入自动匹配方式进行选择。使用者可以通过右边的
按钮进行刷新
- 〔流量配比〕所选择链路,配比值必须是0 ~ 100的整数,所有链路的配比值加起来必须等于100
- 增加〔流量配比〕,点击〔操作〕列下的
按钮进行增加
- 删除〔流量配比〕,点击〔操作〕列下的
按钮进行删除
5.〔添加灰度策略〕,点击
按钮,添加灰度策略。当使用者每添加一个灰度策略,选项卡会自动在灰度策略标题后数字加一

`条件设置`,操作模式和过程跟`〔添加蓝绿策略〕`一致;`流量配比`,操作模式和过程跟`〔添加灰度兜底策略〕`一致
6.〔删除策略〕,点击
按钮,删除当前选项卡上的策略
⑥ 设置〔内置参数〕
当前版本内置参数仅支持`Header`,但内置`Header`也具备代替`Parameter`、`Cookie`的作用。内置参数的应用场景多见于定时服务的蓝绿灰度发布场景
内置参数配置包括如下步骤
- 输入〔请求头〕
- 输入〔值〕
- 增加〔内置参数〕,点击〔操作〕列下的
按钮进行增加
- 删除〔内置参数〕,点击〔操作〕列下的
按钮进行删除
⑦ 执行保存
上述操作执行完毕后,点击
按钮进行保存
#### 发布蓝绿灰度
执行保存后,主界面会把该条数据进行标识,〔状态〕列上显示
,〔入口名称〕列上显示
上述保存步骤,只是保存到数据库中,并未推送到配置中心,需要在〔蓝绿灰度〕界面的工具栏上,点击
按钮进行推送
执行发布后,主界面会把该条数据进行标识,〔状态〕列上显示
 提醒:任何增、删、改蓝绿灰度,最终都必须通过点击
按钮进行生效
#### 删除蓝绿灰度
〔蓝绿灰度〕界面的表格上,打勾选择需要删除的一项或者多项
〔蓝绿灰度〕界面的工具栏上,点击
按钮进行删除
执行删除后,主界面会把该条数据进行标识,〔状态〕列上显示
,〔入口名称〕列上显示
接下去执行[发布蓝绿灰度](#发布蓝绿灰度)
#### 编辑蓝绿灰度
〔蓝绿灰度〕界面的表格上,点击〔操作〕列下的
按钮进行编辑,操作模式和过程与[新增蓝绿灰度](#新增蓝绿灰度)类似,但〔入口类型〕和〔入口名称〕不可修改

执行编辑后,主界面会把该条数据进行标识,〔状态〕列上显示
,〔入口名称〕列上显示
接下去执行[发布蓝绿灰度](#发布蓝绿灰度)
#### 启用和禁用蓝绿灰度
〔蓝绿灰度〕界面的表格上,点击〔操作〕列下的
或者
按钮进行禁用或者启用
`禁用`只是清除配置中心对应的规则策略,并不删除数据库中的规则策略,以便下一次`启用`
执行禁用或者启用后,主界面会把该条数据进行标识,〔状态〕列上显示
,〔入口名称〕列上显示
接下去执行[发布蓝绿灰度](#发布蓝绿灰度),主界面会把该条数据进行标识,〔状态〕列上显示
或者
#### 查看蓝绿灰度拓扑图
待补充
#### 查看正在工作的蓝绿灰度
〔蓝绿灰度〕界面的工具栏上,点击
按钮进行查看

① 选择〔入口类型〕和〔入口名称〕。使用者可以通过右边的
按钮进行刷新
② 界面自动给出符合所选择的〔入口类型〕和〔入口名称〕的服务实例列表,通过选项卡方式呈现出所属该服务实例的规则策略。如果所有服务实例的规则策略是一致的,那么会给出
的一致性提示,否则给出不一致性提示
 提醒:一致性问题,可能是由于网络抖动、配置中心等多种原因,导致若干个服务实例订阅同一个配置,有些服务实例收到规则策略的更新,有些服务实例未收到规则策略的更新
### 流量侦测
待补充
## 实例管理
### 实例信息
待补充
### 实例摘除
#### 新增黑名单
① 导航栏上选择〔实例管理〕/〔实例摘除〕,进入实例摘除配置界面。通过把服务实例放置到黑名单的方式达到服务实例摘除的目的

② 〔实例摘除〕界面的工具栏上,点击
按钮,弹出相应的对话框。黑名单类型,包括`UUID`(全局唯一ID)和`IP地址和端口`,使用者根据实际应用场景来选择

#### 发布黑名单
〔实例摘除〕界面的工具栏上,点击
,操作模式和过程与[发布蓝绿灰度](#发布蓝绿灰度)类似
#### 删除黑名单
〔实例摘除〕界面的工具栏上,点击
,操作模式和过程与[删除蓝绿灰度](#删除蓝绿灰度)类似
#### 启用和禁用黑名单
操作模式和过程与[启用和禁用蓝绿灰度](#启用和禁用蓝绿灰度)类似
#### 查看正在工作的黑名单
〔实例摘除〕界面的工具栏上,点击
,操作模式和过程与[查看正在工作的蓝绿灰度](#查看正在工作的蓝绿灰度)类似

截图不对,待补充
## 路由配置
### Gateway网关路由
#### 新增Gateway网关路由
① 导航栏上选择〔路由配置〕/〔Gateway网关路由〕,进入Spring Cloud Gateway动态路由配置界面

② 〔Gateway网关路由〕界面的工具栏上,点击
按钮,弹出相应的对话框
根据Spring Cloud Gateway网关的官方配置规范,结合如下界面进行配置。其中,断言器和过滤器包括内置和自定义两种模式
内置断言器和过滤器模式是通过Spring Cloud Gateway网关内置相关类和解析模块来实现的,请参照界面提示进行配置

自定义断言器和过滤器是通过Spring Cloud Gateway网关使用者自定义和解析模块相关类来实现的,请参照界面提示进行配置

#### 发布Gateway网关路由
〔Gateway网关路由〕界面的工具栏上,点击
,操作模式和过程与[发布蓝绿灰度](#发布蓝绿灰度)类似
#### 删除Gateway网关路由
〔Gateway网关路由〕界面的工具栏上,点击
,操作模式和过程与[删除蓝绿灰度](#删除蓝绿灰度)类似
#### 编辑Gateway网关路由
操作模式和过程与[编辑蓝绿灰度](#编辑蓝绿灰度)类似
#### 启用和禁用Gateway网关路由
操作模式和过程与[启用和禁用蓝绿灰度](#启用和禁用蓝绿灰度)类似
#### 查看正在工作的Gateway网关路由
〔Gateway网关路由〕界面的工具栏上,点击
,操作模式和过程与[查看正在工作的蓝绿灰度](#查看正在工作的蓝绿灰度)类似

截图不对,待补充
### Zuul网关路由
#### 新增Zuul网关路由
① 导航栏上选择〔路由配置〕/〔Zuul网关路由〕,进入Zuul动态路由配置界面

② 〔Zuul网关路由〕界面的工具栏上,点击
按钮,弹出相应的对话框
根据Zuul网关的官方配置规范,结合如下界面进行配置

#### 发布Zuul网关路由
〔Zuul网关路由〕界面的工具栏上,点击
,操作模式和过程与[发布蓝绿灰度](#发布蓝绿灰度)类似
#### 删除Zuul网关路由
〔Zuul网关路由〕界面的工具栏上,点击
,操作模式和过程与[删除蓝绿灰度](#删除蓝绿灰度)类似
#### 编辑Zuul网关路由
操作模式和过程与[编辑蓝绿灰度](#编辑蓝绿灰度)类似
#### 启用和禁用Zuul网关路由
操作模式和过程与[启用和禁用蓝绿灰度](#启用和禁用蓝绿灰度)类似
#### 查看正在工作的Zuul网关路由
〔Zuul网关路由〕界面的工具栏上,点击
,操作模式和过程与[查看正在工作的蓝绿灰度](#查看正在工作的蓝绿灰度)类似

## 基础应用
基础应用,一般为企业的内部中间件聚合模块,通过平台的左侧菜单入口进行页面弹出方式的跳转
新增、删除、修改基础应用外链,请参考[页面设置](#页面设置)
## 系统设置
### 页面设置

待补充
## 授权配置
### 管理员配置
#### 新增管理员
① 导航栏上选择〔授权配置〕/〔管理员配置〕,进入管理员配置界面

② 〔管理员配置〕界面的工具栏上,点击
按钮,弹出相应的对话框
输入相关信息完成〔新增管理员〕

#### 删除管理员
〔管理员配置〕界面的表格上,打勾选择需要删除的一项或者多项
〔管理员配置〕界面的工具栏上,点击
按钮进行删除
#### 编辑管理员
〔管理员配置〕界面的表格上,点击〔操作〕列下的
按钮,弹出相应的对话框
输入相关信息完成〔编辑管理员〕

#### 重置管理员密码
〔管理员配置〕界面的表格上,点击〔操作〕列下的
按钮进行重置
### 角色配置
#### 新增角色
① 导航栏上选择〔授权配置〕/〔角色配置〕,进入角色配置界面

② 〔角色配置〕界面的工具栏上,点击
按钮,弹出相应的对话框
输入相关信息完成〔新增角色〕

#### 删除角色
〔角色配置〕界面的表格上,打勾选择需要删除的一项或者多项
〔角色配置〕界面的工具栏上,点击
按钮进行删除
#### 编辑角色
〔角色配置〕界面的表格上,点击〔操作〕列下的
按钮,弹出相应的对话框
输入相关信息完成〔编辑角色〕

### 权限配置
#### 新增权限
① 导航栏上选择〔授权配置〕/〔权限配置〕,进入权限配置界面

② 〔权限配置〕界面的工具栏上,点击
按钮,弹出相应的对话框
输入相关信息完成〔新增权限〕

#### 删除权限
〔权限配置〕界面的表格上,打勾选择需要删除的一项或者多项
〔权限配置〕界面的工具栏上,点击
按钮进行删除
#### 编辑权限
〔权限配置〕界面的表格上,点击〔操作〕列下的
按钮,完成权限编辑

## Star走势图
[](https://starchart.cc/Nepxion/Discovery)