-
Notifications
You must be signed in to change notification settings - Fork 1.4k
如何快速集成框架
HaojunRen edited this page May 31, 2024
·
15 revisions
您根据实际的微服务选型,按需选择不同的注册中心和配置中心
您需要选择如下的一种注册中心依赖
<dependency>
<groupId>com.nepxion</groupId>
<!-- <artifactId>discovery-plugin-register-center-starter-eureka</artifactId> -->
<!-- <artifactId>discovery-plugin-register-center-starter-consul</artifactId> -->
<!-- <artifactId>discovery-plugin-register-center-starter-zookeeper</artifactId> -->
<artifactId>discovery-plugin-register-center-starter-nacos</artifactId>
</dependency>
您需要选择如下的一种配置中心依赖
<dependency>
<groupId>com.nepxion</groupId>
<!-- <artifactId>discovery-plugin-config-center-starter-apollo</artifactId> -->
<artifactId>discovery-plugin-config-center-starter-nacos</artifactId>
<!-- <artifactId>discovery-plugin-config-center-starter-redis</artifactId> -->
<!-- <artifactId>discovery-plugin-config-center-starter-zookeeper</artifactId> -->
<!-- <artifactId>discovery-plugin-config-center-starter-consul</artifactId> -->
<!-- <artifactId>discovery-plugin-config-center-starter-etcd</artifactId> -->
</dependency>
管理中心依赖是可选依赖,不引入不会影响核心功能
<dependency>
<groupId>com.nepxion</groupId>
<artifactId>discovery-plugin-admin-center-starter</artifactId>
</dependency>
6.18.0之前版本的管理中心默认集成Swagger组件,有些公司业务服务自身使用的Swagger版本过高或者过低,引入管理中心会引起不兼容的问题。从6.18.0版本提供两种方式的管理中心
<dependency>
<groupId>com.nepxion</groupId>
<!-- 不集成Swagger组件的管理中心 -->
<artifactId>discovery-plugin-admin-center-starter</artifactId>
<!-- 集成Swagger组件的管理中心 -->
<artifactId>discovery-plugin-admin-center-starter-swagger</artifactId>
</dependency>
您需要选择策略编排依赖,策略编排依赖在业务服务/网关有所不同
<dependency>
<groupId>com.nepxion</groupId>
<artifactId>discovery-plugin-strategy-starter-service</artifactId>
</dependency>
<dependency>
<groupId>com.nepxion</groupId>
<artifactId>discovery-plugin-strategy-starter-gateway</artifactId>
</dependency>
<dependency>
<groupId>com.nepxion</groupId>
<artifactId>discovery-plugin-strategy-starter-zuul</artifactId>
</dependency>
您需要设置注册中心和配置中心地址,以Nacos注册中心和配置中心为例
spring.cloud.nacos.discovery.server-addr=localhost:8848
spring.cloud.nacos.config.server-addr=localhost:8848
您根据实际的蓝绿灰度发布维度和场景,配置染色方式的元数据,适用于所有的配置中心
组名必须要配置,版本、区域、环境和可用区根据具体场景选择其中一种或者几种进行配置
spring.cloud.discovery.metadata.group=discovery-guide-group
spring.cloud.discovery.metadata.version=1.0
spring.cloud.discovery.metadata.region=dev
spring.cloud.discovery.metadata.env=env1
spring.cloud.discovery.metadata.zone=zone1
spring.cloud.discovery.metadata.active=true
您也可以通过注册中心中间件自身配置方式,例如
# Nacos注册中心
spring.cloud.nacos.discovery.metadata.version=1.0
# Eureka注册中心
eureka.instance.metadataMap.version=1.0
# Consul注册中心
spring.cloud.consul.discovery.tags=version=1.0
# Zookeeper注册中心
spring.cloud.zookeeper.discovery.metadata.version=1.0
您也可以通过Java运行参数进行设置,这是强烈推荐的一种方式,通过DevOps运维平台来决定服务流量染色的元数据,是最合理的一种方式
-Dmetadata.group=discovery-guide-group
-Dmetadata.version=1.0
-Dmetadata.region=dev
-Dmetadata.env=env1
-Dmetadata.zone=zone1
-Dmetadata.active=true
流量染色的元数据值 如果缺失,那么在本服务实例或者消费端服务实例以default
值被感知到
具体集成源码,请参考
指南示例:https://github.com/Nepxion/DiscoveryGuide,分支为6.x.x-simple
2017-2050 ©Nepxion Studio Apache License
- 如何对接Foundation基础平台实施收敛集成
- 如何对接DevOps运维平台实施流量管控
- 如何部署对接DevOps运维平台的控制台
- 如何对接DevOps运维平台执行半自动化蓝绿灰度发布
- 如何使用DevOps运维平台对接的公共接口
- 如何设计全链路智能编排高级蓝绿灰度发布界面
- 如何实现Windows10下GraalVM本地镜像化
- 蓝绿灰度发布
- 流量染色
- 隔离路由
- 故障转移
- 多活单元化
- 限流熔断降级权限
- 网关动态路由
- 可观测监控
- 如何操作配置中心
- 如何理解框架开关配置
- 如何理解规则策略里内容格式配置
- 如何操作网关和服务的蓝绿灰度发布规则策略配置
- 如何操作网关动态路由规则策略配置
- 如何操作Sentinel规则策略配置
- 如何实施规则策略配置和业务配置在配置中心的合并和分离
- 如何理解自动扫描目录
- 如何自定义流量管控
- 如何自定义实现组合式的防护
- 如何自定义高级配置订阅功能
- 如何自定义订阅框架事件
- 如何自定义解决业务自身跨线程上下文切换的问题
- 如何自定义重用框架内置的Swagger模块
- 如何自定义Header全链路传递
- 如何遵循Nepxion Discovery网关标准实现对其它网关全链路流量管控的二次开发
- 如何遵循Nepxion Discovery服务标准实现对消息队列等其它中间件全链路流量管控的二次开发