同步操作将从 Nepxion/DiscoveryPlatform 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
如果您觉得本框架具有一定的参考价值和借鉴意义,请帮忙在页面右上角 [Star]
首席作者简介
商业化合作
① Discovery系列
框架名称 | 框架版本 | 支持Spring Cloud版本 | 使用许可 |
---|---|---|---|
Discovery | 1.x.x ~ 6.x.x | Camden ~ Hoxton | 开源,永久免费 |
DiscoveryX | 7.x.x | 202x | 闭源,商业许可 |
② Polaris系列
Polaris为Discovery高级定制版,特色功能
框架名称 | 框架版本 | 支持Discovery版本 | 支持Spring Cloud版本 | 使用许可 |
---|---|---|---|---|
Polaris | 1.x.x | 6.x.x | Finchley ~ Hoxton | 闭源,商业许可 |
Polaris | 2.x.x | 7.x.x | 202x | 闭源,商业许可 |
有商业版需求的企业和用户,请添加微信1394997,联系作者,洽谈合作事宜
Discovery【探索】企业级云原生微服务开源解决方案
① 解决方案
② 平台界面
③ 快速入门
④ 框架源码
⑤ 指南示例源码
⑥ 指南示例说明
Polaris【北极星】企业级云原生微服务商业解决方案
① 解决方案
② 框架源码
③ 指南示例源码
④ 指南示例说明
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版接入,支持如下功能
请访问https://github.com/Nepxion/DiscoveryPlatform获取源码和示例
感谢如下小伙伴参与本平台的开发、测试和部署。下面名单根据加入次序进行排序
微信、钉钉、公众号和文档
工程名 | 描述 |
---|---|
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内存数据库创库脚本 |
① 服务注册发现依赖引入
服务注册发现中间件的四个插件,必须引入其中一个
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<!-- <groupId>org.springframework.cloud</groupId> -->
<!-- <artifactId>spring-cloud-starter-consul-discovery</artifactId> -->
<!-- <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> -->
<!-- <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId> -->
</dependency>
② 配置中心依赖引入
配置中心中间件的六个插件,选择引入其中一个
<dependency>
<groupId>com.nepxion</groupId>
<artifactId>discovery-console-starter-nacos</artifactId>
<!-- <artifactId>discovery-console-starter-apollo</artifactId> -->
<!-- <artifactId>discovery-console-starter-redis</artifactId> -->
<!-- <artifactId>discovery-console-starter-zookeeper</artifactId> -->
<!-- <artifactId>discovery-console-starter-consul</artifactId> -->
<!-- <artifactId>discovery-console-starter-etcd</artifactId> -->
</dependency>
③ 数据库依赖引入
MySQL数据库和H2内存数据库,选择引入其中一个
<dependency>
<groupId>com.nepxion</groupId>
<artifactId>discovery-platform-starter-server-mysql</artifactId>
<!-- <artifactId>discovery-platform-starter-server-h2</artifactId> -->
</dependency>
④ Ldap依赖引入
如果使用者希望通过Ldap方式登录平台,那么需要引入如下依赖
<dependency>
<groupId>com.nepxion</groupId>
<artifactId>discovery-platform-starter-server-ldap</artifactId>
</dependency>
使用者可以直接使用云环境进行体验,也可以通过本地环境搭建进行体验
采用Nacos作为服务注册发现和配置中心
http://218.78.55.64:8848/nacos
浏览器上输入http://218.78.55.64:6001/platform,初始用户名和密码为admin/admin
登录页面底部为重要的链接以及快速联系我们的方式
通过改变Http Parameter参数验证灰度蓝绿等一系列功能,例如,在浏览器上输入如下地址,根据user值的改变,观测返回的调用结果是否符合预期
http://218.78.55.64:5001/discovery-guide-service-a/invoke/gateway?user=zhangsan
http://218.78.55.64:5001/discovery-guide-service-a/invoke/gateway?user=lisi
参考《如何快速搭建和运行示例》的Wiki文章
使用者可以复制discovery-platform-application目录单独导入IDE或者编译成可执行包运行
选择下面其中一个运行,需要实现确认相关配置的正确性
提醒:基于H2内存数据库模式的平台,需要事先启动H2内存数据库服务器,从如下链接下载、安装并运行
http://h2database.com/html/download.html
参考云环境平台登录,把IP地址改成localhost即可
参考云环境调用验证,把IP地址改成localhost即可
导航栏上选择〔服务发布〕/〔蓝绿发布〕,进入蓝绿发布界面
①〔蓝绿发布〕界面的工具栏上,点击 或者 按钮,弹出相应的对话框。下文以〔版本蓝绿〕为例
② 确定〔入口类型〕和〔入口名称〕
入口类型,包括网关
、服务
和组
,使用者在三个选项中选择一个,大多数场景会采用网关
为入口类型
网关
和服务
属于局部订阅模式,即把蓝绿发布的规则策略推送到指定的网关或者服务上,只有入口名称
下拉框所选择的网关(或者服务)才能订阅该规则策略组
属于全局订阅模式,即把蓝绿发布的规则策略推送到指定的组上,只有入口名称
下拉框所选择的组下的所有网关和服务才能订阅该规则策略入口名称,通过下拉的网关、服务或者组列表进行选择,使用者也可以通过手工输入自动匹配方式进行选择。使用者可以通过右边的 按钮进行刷新
③ 添加和删除策略
策略类型,包括兜底策略
和蓝绿策略
,平台默认给出一个兜底策略
和两个蓝绿策略
的经典场景,使用者可以根据实际场景,增加和删除策略
提醒:兜底策略
可以缺失,但最多只能一个;蓝绿策略
可以缺失,但可以无数个。兜底策略
和蓝绿策略
必须存在至少一个,蓝绿发布才有意义
〔策略配置〕工具栏上,点击如下按钮进行相关操作
④ 配置〔兜底策略〕
兜底路由策略配置,包括如下步骤
⑤ 配置〔蓝绿策略〕
蓝绿条件策略配置,包括如下步骤
Header
、Parameter
、Cookie
参数=
、不等于!=
、大于>
、大于等于>=
、小于<
、小于等于<=
、匹配matches
七种运算符and
、或or
两种关系符Header
、Parameter
、Cookie
参数的值Spel
规范的表达式即可兜底路由策略配置,包括如下步骤
⑥ 设置〔内置参数〕
当前版本内置参数仅支持Header
,但内置Header
也具备代替Parameter
、Cookie
的作用。内置参数的应用场景多见于定时服务的蓝绿发布场景
内置参数配置包括如下步骤
⑦ 执行保存
上述结果执行完毕后,点击 按钮进行保存
执行保存后,主界面会把该条数据进行标识,〔状态〕列上显示 ,〔入口名称〕列上显示
上述保存步骤,只是保存到数据库中,并未推送到配置中心,需要使用者点击 按钮进行推送
执行发布后,主界面会把该条数据进行标识,〔状态〕列上显示
提醒:任何增、删、改蓝绿发布,最终都必须通过点击 按钮进行生效
〔蓝绿发布〕界面的表格上,打勾选择需要删除的一项或者多项
〔蓝绿发布〕界面的工具栏上,点击 按钮进行删除
执行删除后,主界面会把该条数据进行标识,〔状态〕列上显示 ,〔入口名称〕列上显示
接下去执行 ⑦ 执行〔发布蓝绿〕
〔蓝绿发布〕界面的表格上,点击〔操作〕列下的 按钮进行编辑,操作模式和过程与新增蓝绿类似
执行编辑后,主界面会把该条数据进行标识,〔状态〕列上显示 ,〔入口名称〕列上显示
接下去执行 ⑦ 执行〔发布蓝绿〕
〔蓝绿发布〕界面的表格上,点击〔操作〕列下的 或者 按钮进行禁用或者启用
禁用
只是清除配置中心对应的规则策略,并不删除数据库中的规则策略,以便下一次启用
执行禁用或者启用后,主界面会把该条数据进行标识,〔状态〕列上显示 ,〔入口名称〕列上显示
接下去执行 ⑦ 执行〔发布蓝绿〕
,主界面会把该条数据进行标识,〔状态〕列上显示 或者
待补充
〔蓝绿发布〕界面的工具栏上,点击 按钮进行查看
① 选择〔入口类型〕和〔入口名称〕。使用者可以通过右边的 按钮进行刷新
② 界面自动给出符合所选择的〔入口类型〕和〔入口名称〕的服务实例列表,通过选项卡方式呈现出所属该服务实例的规则策略。如果所有服务实例的规则策略是一致的,那么会给出 的一致性提示,否则给出不一致性提示
提醒:一致性问题,可能是由于网络抖动、配置中心等多种原因,导致若干个服务实例订阅同一个配置,有些服务实例收到规则策略的更新,有些服务实例未收到规则策略的更新
待补充
待补充
待补充
① 导航栏上选择〔实例管理〕/〔实例摘除〕,进入实例摘除配置界面。通过把服务实例放置到黑名单的方式达到服务实例摘除的目的
② 〔实例摘除〕界面的工具栏上,点击 按钮,弹出相应的对话框。黑名单类型,包括UUID
(全局唯一ID)和IP地址和端口
,使用者根据实际应用场景来选择
〔实例摘除〕界面的工具栏上,点击 ,操作模式和过程与发布蓝绿类似
〔实例摘除〕界面的工具栏上,点击 ,操作模式和过程与删除蓝绿类似
操作模式和过程与启用和禁用蓝绿类似
〔实例摘除〕界面的工具栏上,点击 ,操作模式和过程与查看正在工作的蓝绿类似
待补充
① 导航栏上选择〔路由配置〕/〔Gateway网关路由〕,进入Spring Cloud Gateway动态路由配置界面
② 〔Gateway网关路由〕界面的工具栏上,点击 按钮,弹出相应的对话框
根据Spring Cloud Gateway网关的官方配置规范,结合如下界面进行配置。其中,断言器和过滤器包括内置和自定义两种模式
内置断言器和过滤器模式是通过Spring Cloud Gateway网关内置相关类和解析模块来实现的,请参照界面提示进行配置
自定义断言器和过滤器是通过Spring Cloud Gateway网关使用者自定义和解析模块相关类来实现的,请参照界面提示进行配置
〔Gateway网关路由〕界面的工具栏上,点击 ,操作模式和过程与发布蓝绿类似
〔Gateway网关路由〕界面的工具栏上,点击 ,操作模式和过程与删除蓝绿类似
操作模式和过程与编辑蓝绿类似
操作模式和过程与启用和禁用蓝绿类似
〔Gateway网关路由〕界面的工具栏上,点击 ,操作模式和过程与查看正在工作的蓝绿类似
① 导航栏上选择〔路由配置〕/〔Zuul网关路由〕,进入Zuul动态路由配置界面
② 〔Zuul网关路由〕界面的工具栏上,点击 按钮,弹出相应的对话框
根据Zuul网关的官方配置规范,结合如下界面进行配置
〔Zuul网关路由〕界面的工具栏上,点击 ,操作模式和过程与发布蓝绿类似
〔Zuul网关路由〕界面的工具栏上,点击 ,操作模式和过程与删除蓝绿类似
操作模式和过程与编辑蓝绿类似
操作模式和过程与启用和禁用蓝绿类似
〔Zuul网关路由〕界面的工具栏上,点击 ,操作模式和过程与查看正在工作的蓝绿类似
基础应用,一般为企业的内部中间件聚合模块,通过平台的左侧菜单入口进行页面弹出方式的跳转
新增、删除、修改基础应用外链,请参考页面设置
待补充
① 导航栏上选择〔授权配置〕/〔管理员配置〕,进入管理员配置界面
② 〔管理员配置〕界面的工具栏上,点击 按钮,弹出相应的对话框
输入相关信息完成〔新增管理员〕
〔管理员配置〕界面的表格上,打勾选择需要删除的一项或者多项
〔管理员配置〕界面的工具栏上,点击 按钮进行删除
〔管理员配置〕界面的表格上,点击〔操作〕列下的 按钮,弹出相应的对话框
输入相关信息完成〔编辑管理员〕
〔管理员配置〕界面的表格上,点击〔操作〕列下的 按钮进行重置
① 导航栏上选择〔授权配置〕/〔角色配置〕,进入角色配置界面
② 〔角色配置〕界面的工具栏上,点击 按钮,弹出相应的对话框
输入相关信息完成〔新增角色〕
〔角色配置〕界面的表格上,打勾选择需要删除的一项或者多项
〔角色配置〕界面的工具栏上,点击 按钮进行删除
〔角色配置〕界面的表格上,点击〔操作〕列下的 按钮,弹出相应的对话框
输入相关信息完成〔编辑角色〕
① 导航栏上选择〔授权配置〕/〔权限配置〕,进入权限配置界面
② 〔权限配置〕界面的工具栏上,点击 按钮,弹出相应的对话框
输入相关信息完成〔新增权限〕
〔权限配置〕界面的表格上,打勾选择需要删除的一项或者多项
〔权限配置〕界面的工具栏上,点击 按钮进行删除
〔权限配置〕界面的表格上,点击〔操作〕列下的 按钮,完成权限编辑
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。