-
Notifications
You must be signed in to change notification settings - Fork 1.4k
如何正确集成管理中心
HaojunRen edited this page May 31, 2024
·
5 revisions
本文档只适用于Discovery 6.20.0及以上版本的集成方式
管理中心,通过暴露Http Rest Endpoint的方式,向外提供服务实例内存相关信息的查询、更新和删除等操作
有些Endpoint比较重要,象InspectorEndpoint
提供全链路侦测和自动化蓝绿灰度发布模拟流程测试功能
管理中心,提供集成Swagger组件
版和不集成Swagger组件
版
- 如果业务服务自身使用的Swagger版本过高或者过低,引入管理中心会引起不兼容的问题,则可以考虑使用
不集成Swagger组件
版的管理中心 - 如果业务服务想通过Swagger方便使用和测试Http Rest Endpoint,且Swagger版本是兼容的,则可以考虑使用
集成Swagger组件
版的管理中心
框架默认集成的Swagger版本
<swagger.version>1.5.21</swagger.version>
<springfox.swagger.version>2.9.2</springfox.swagger.version>
集成依赖
<dependency>
<groupId>com.nepxion</groupId>
<!-- 不集成Swagger组件的管理中心 -->
<artifactId>discovery-plugin-admin-center-starter</artifactId>
<!-- 集成Swagger组件的管理中心 -->
<artifactId>discovery-plugin-admin-center-starter-swagger</artifactId>
</dependency>
对于内网向外网暴露接口控制不严格的企业,暴露Http Rest Endpoint可能存在一些风险
管理中心,提供相关开关关闭对应的Endpoint
# 启动和关闭服务相关操作端点。缺失则默认为true
spring.application.admin.service.endpoint.enabled=true
# 启动和关闭配置相关操作端点。缺失则默认为true
spring.application.admin.config.endpoint.enabled=true
# 启动和关闭版本相关操作端点。缺失则默认为true
spring.application.admin.version.endpoint.enabled=true
# 启动和关闭侦测相关操作端点。缺失则默认为true
spring.application.admin.inspector.endpoint.enabled=true
# 启动和关闭路由相关操作端点。缺失则默认为true
spring.application.admin.router.endpoint.enabled=true
# 启动和关闭策略相关操作端点。缺失则默认为true
spring.application.admin.strategy.endpoint.enabled=true
# 启动和关闭Sentinel相关操作端点。缺失则默认为true
spring.application.admin.sentinel.endpoint.enabled=true
# 启动和关闭Git相关操作端点。缺失则默认为true
spring.application.admin.git.endpoint.enabled=true
# 启动和关闭Spring Cloud Gateway相关操作端点。缺失则默认为true
spring.application.admin.gateway.endpoint.enabled=true
# 启动和关闭Zuul相关操作端点。缺失则默认为true
spring.application.admin.zuul.endpoint.enabled=true
# 启动和关闭策略操作端点的验证SPEL表达式方法。缺失则默认为true
# 该端点方法使用Spring StandardEvaluationContext类,StandardEvaluationContext支持全部的Spel语法且功能齐全,但GitHub Security报告其存在一定的注入风险,推荐使用SimpleEvaluationContext,而SimpleEvaluationContext并不能满足当前框架的需求
# 如果未使用验证SPEL表达式方法,可以通过下面开关关闭在方法在策略端点上的暴露,规避风险
spring.application.admin.strategy.endpoint.validate-expression.enabled=true
如果业务服务引入了集成Swagger组件
版的管理中心,也提供关闭Swagger的功能,同时也可以通过自定义重用框架内置的Swagger模块
的方式,业务服务不需要再写Swagger自动装配类
具体用法,请参考
- Github Wiki :如何自定义重用框架内置的Swagger模块
- Gitee Wiki :如何自定义重用框架内置的Swagger模块
2017-2050 ©Nepxion Studio Apache License
- 如何对接Foundation基础平台实施收敛集成
- 如何对接DevOps运维平台实施流量管控
- 如何部署对接DevOps运维平台的控制台
- 如何对接DevOps运维平台执行半自动化蓝绿灰度发布
- 如何使用DevOps运维平台对接的公共接口
- 如何设计全链路智能编排高级蓝绿灰度发布界面
- 如何实现Windows10下GraalVM本地镜像化
- 蓝绿灰度发布
- 流量染色
- 隔离路由
- 故障转移
- 多活单元化
- 限流熔断降级权限
- 网关动态路由
- 可观测监控
- 如何操作配置中心
- 如何理解框架开关配置
- 如何理解规则策略里内容格式配置
- 如何操作网关和服务的蓝绿灰度发布规则策略配置
- 如何操作网关动态路由规则策略配置
- 如何操作Sentinel规则策略配置
- 如何实施规则策略配置和业务配置在配置中心的合并和分离
- 如何理解自动扫描目录
- 如何自定义流量管控
- 如何自定义实现组合式的防护
- 如何自定义高级配置订阅功能
- 如何自定义订阅框架事件
- 如何自定义解决业务自身跨线程上下文切换的问题
- 如何自定义重用框架内置的Swagger模块
- 如何自定义Header全链路传递
- 如何遵循Nepxion Discovery网关标准实现对其它网关全链路流量管控的二次开发
- 如何遵循Nepxion Discovery服务标准实现对消息队列等其它中间件全链路流量管控的二次开发