Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
discovery
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
陈文顺
discovery
Commits
728d8b9d
Commit
728d8b9d
authored
Oct 28, 2018
by
Nepxion
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改介绍
parent
0f8aaa09
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
1 deletions
+13
-1
README.md
+13
-1
No files found.
README.md
View file @
728d8b9d
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
[

](https://travis-ci.org/Nepxion/Discovery)
[

](https://travis-ci.org/Nepxion/Discovery)
[

](https://www.codacy.com/project/HaojunRen/Discovery/dashboard?utm_source=github.com
&
utm_medium=referral
&
utm_content=Nepxion/Discovery
&
utm_campaign=Badge_Grade_Dashboard)
[

](https://www.codacy.com/project/HaojunRen/Discovery/dashboard?utm_source=github.com
&
utm_medium=referral
&
utm_content=Nepxion/Discovery
&
utm_campaign=Badge_Grade_Dashboard)
Nepxion Discovery是一款对Spring Cloud Discovery服务注册发现、Ribbon负载均衡、Feign和RestTemplate调用的增强中间件,其功能包括灰度发布(包括切换发布和平滑发布)、服务隔离、服务路由、服务权重、黑/白名单的IP地址过滤、限制注册、限制发现等,支持Eureka、Consul、Zookeeper和阿里巴巴的Nacos为服务注册发现中间件,支持阿里巴巴的Nacos、携程的Apollo和Redis为远程配置中心,支持Spring Cloud Gateway(Finchley版)、Zuul网关和微服务的灰度发布,支持多数据源的数据库灰度发布等客户特色化灰度发布,支持用户自定义和编程灰度路由策略(包括RPC和REST两种调用方式),兼容Spring Cloud Edgware版和Finchley版(不支持Dalston版,因为它的生命周期将在2018年12月结束,如果您无法回避使用Dalston版,请自行修改源码或者联系我)。现有的Spring Cloud微服务很方便引入该中间件,代码零侵入
Nepxion Discovery是一款对Spring Cloud Discovery服务注册发现、Ribbon负载均衡、Feign和RestTemplate调用
、Hystrix熔断隔离
的增强中间件,其功能包括灰度发布(包括切换发布和平滑发布)、服务隔离、服务路由、服务权重、黑/白名单的IP地址过滤、限制注册、限制发现等,支持Eureka、Consul、Zookeeper和阿里巴巴的Nacos为服务注册发现中间件,支持阿里巴巴的Nacos、携程的Apollo和Redis为远程配置中心,支持Spring Cloud Gateway(Finchley版)、Zuul网关和微服务的灰度发布,支持多数据源的数据库灰度发布等客户特色化灰度发布,支持用户自定义和编程灰度路由策略(包括RPC和REST两种调用方式),兼容Spring Cloud Edgware版和Finchley版(不支持Dalston版,因为它的生命周期将在2018年12月结束,如果您无法回避使用Dalston版,请自行修改源码或者联系我)。现有的Spring Cloud微服务很方便引入该中间件,代码零侵入
对于使用者来说,他所需要做的如下:
对于使用者来说,他所需要做的如下:
-
引入相关依赖到pom.xml,参考
[
依赖兼容
](
#依赖兼容
)
-
引入相关依赖到pom.xml,参考
[
依赖兼容
](
#依赖兼容
)
...
@@ -258,6 +258,7 @@ Spring Boot Admin监控平台
...
@@ -258,6 +258,7 @@ Spring Boot Admin监控平台
| discovery-plugin-strategy-starter-service | 用户自定义和编程灰度路由策略的Service Starter |
| discovery-plugin-strategy-starter-service | 用户自定义和编程灰度路由策略的Service Starter |
| discovery-plugin-strategy-starter-zuul | 用户自定义和编程灰度路由策略的Zuul Starter |
| discovery-plugin-strategy-starter-zuul | 用户自定义和编程灰度路由策略的Zuul Starter |
| discovery-plugin-strategy-starter-gateway | 用户自定义和编程灰度路由策略的Spring Cloud Gateway(F版) Starter |
| discovery-plugin-strategy-starter-gateway | 用户自定义和编程灰度路由策略的Spring Cloud Gateway(F版) Starter |
| discovery-plugin-strategy-starter-hystrix | 用户自定义和编程灰度路由策略下,Hystrix做线程模式的服务隔离必须引入的插件 Starter |
| discovery-console | 控制平台,集成接口给UI |
| discovery-console | 控制平台,集成接口给UI |
| discovery-console-starter-apollo | 控制平台的Apollo Starter |
| discovery-console-starter-apollo | 控制平台的Apollo Starter |
| discovery-console-starter-nacos | 控制平台的Nacos Starter |
| discovery-console-starter-nacos | 控制平台的Nacos Starter |
...
@@ -334,6 +335,13 @@ Spring Boot Admin监控平台
...
@@ -334,6 +335,13 @@ Spring Boot Admin监控平台
</dependency>
</dependency>
```
```
[
选择引入
]
用户自定义和编程灰度路由时候,Hystrix做线程模式的服务隔离必须引入的插件,信号量模式不需要引入
<dependency>
<groupId>
com.nepxion
</groupId>
<artifactId>
discovery-plugin-strategy-starter-hystrix
</artifactId>
</dependency>
```
控制平台引入
控制平台引入
```
xml
```
xml
[
选择引入
]
三个远程配置中心的中间件的扩展插件,如需要,请任选一个引入,或者也可以引入您自己的扩展
[
选择引入
]
三个远程配置中心的中间件的扩展插件,如需要,请任选一个引入,或者也可以引入您自己的扩展
...
@@ -673,6 +681,10 @@ management.server.port=5100
...
@@ -673,6 +681,10 @@ management.server.port=5100
spring.application.strategy.scan.packages=com.nepxion.discovery.plugin.example.service.feign
spring.application.strategy.scan.packages=com.nepxion.discovery.plugin.example.service.feign
# 用户自定义和编程灰度路由策略的时候,对REST调用拦截的时候(支持Feign或者RestTemplate调用),需要把来自外部的指定Header参数传递到服务里,如果多个用“;”分隔,不允许出现空格。该项配置只对服务有效,对网关无效。缺失则默认关闭该功能
# 用户自定义和编程灰度路由策略的时候,对REST调用拦截的时候(支持Feign或者RestTemplate调用),需要把来自外部的指定Header参数传递到服务里,如果多个用“;”分隔,不允许出现空格。该项配置只对服务有效,对网关无效。缺失则默认关闭该功能
spring.application.strategy.request.headers=version;region;token
spring.application.strategy.request.headers=version;region;token
# spring.application.strategy.zone.avoidance.rule.enabled=true
# 开启Zuul网关上实现Hystrix线程隔离模式做服务隔离时,必须把spring.application.strategy.hystrix.threadlocal.supported设置为true,同时要引入discovery-plugin-strategy-starter-hystrix包,否则线程切换时会发生ThreadLocal上下文对象丢失
# zuul.ribbon-isolation-strategy=thread
# spring.application.strategy.hystrix.threadlocal.supported=true
```
```
## 监听扩展
## 监听扩展
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment