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
0ae175fa
Commit
0ae175fa
authored
Jun 27, 2018
by
Nepxion
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改介绍
parent
291f9075
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
14 additions
and
13 deletions
+14
-13
README.md
+3
-2
discovery-springcloud-example-a/src/main/java/com/nepxion/discovery/plugin/example/impl/DiscoveryConfigAdapter.java
+9
-9
discovery-springcloud-example-a/src/main/resources/application.properties
+1
-1
discovery-springcloud-example-a/src/main/resources/rule1.xml
+1
-1
No files found.
README.md
View file @
0ae175fa
...
@@ -80,7 +80,7 @@ Nepxion Discovery是一款对Spring Cloud Discovery的服务注册增强插件
...
@@ -80,7 +80,7 @@ Nepxion Discovery是一款对Spring Cloud Discovery的服务注册增强插件
### 多版本灰度规则策略
### 多版本灰度规则策略
```
xml
```
xml
规则
策略介绍
版本
策略介绍
1. 标准配置,举例如下
1. 标准配置,举例如下
<service
consumer-service-name=
"a"
provider-service-name=
"b"
consumer-version-value=
"1.0"
provider-version-value=
"1.0,1.1"
/>
表示消费端1.0版本,允许访问提供端1.0和1.1版本
<service
consumer-service-name=
"a"
provider-service-name=
"b"
consumer-version-value=
"1.0"
provider-version-value=
"1.0,1.1"
/>
表示消费端1.0版本,允许访问提供端1.0和1.1版本
2. 版本值不配置,举例如下
2. 版本值不配置,举例如下
...
@@ -193,9 +193,10 @@ eureka.instance.metadataMap.version=1.0
...
@@ -193,9 +193,10 @@ eureka.instance.metadataMap.version=1.0
spring.application.register.control.enabled=true
spring.application.register.control.enabled=true
# 开启和关闭服务发现层面的控制。一旦关闭,服务多版本调用的控制功能将失效,动态屏蔽指定IP地址的服务实例被发现的功能将失效。缺失则默认为true
# 开启和关闭服务发现层面的控制。一旦关闭,服务多版本调用的控制功能将失效,动态屏蔽指定IP地址的服务实例被发现的功能将失效。缺失则默认为true
spring.application.discovery.control.enabled=true
spring.application.discovery.control.enabled=true
# 开启和关闭远程配置中心规则
规则文件读取。一旦关闭,默认读取本地规则
规则文件(例如:rule.xml)。缺失则默认为true
# 开启和关闭远程配置中心规则
文件读取。一旦关闭,默认读取本地
规则文件(例如:rule.xml)。缺失则默认为true
spring.application.discovery.remote.config.enabled=true
spring.application.discovery.remote.config.enabled=true
management.port=5432
management.security.enabled=false
management.security.enabled=false
```
```
...
...
discovery-springcloud-example-a/src/main/java/com/nepxion/discovery/plugin/example/impl/DiscoveryConfigAdapter.java
View file @
0ae175fa
...
@@ -17,21 +17,21 @@ import org.apache.commons.io.FileUtils;
...
@@ -17,21 +17,21 @@ import org.apache.commons.io.FileUtils;
import
com.nepxion.discovery.plugin.configcenter.ConfigAdapter
;
import
com.nepxion.discovery.plugin.configcenter.ConfigAdapter
;
// 模拟主动从本地或远程配置中心获取
配置
// 模拟主动从本地或远程配置中心获取
规则
// 模拟订阅远程配置中心的
配置
更新
// 模拟订阅远程配置中心的
规则
更新
public
class
DiscoveryConfigAdapter
extends
ConfigAdapter
{
public
class
DiscoveryConfigAdapter
extends
ConfigAdapter
{
// 通过application.properties里的spring.application.discovery.remote.config.enabled=true,来决定主动从本地,还是远程配置中心获取
配置
// 通过application.properties里的spring.application.discovery.remote.config.enabled=true,来决定主动从本地,还是远程配置中心获取
规则
// 从本地获取
配置
// 从本地获取
规则
@Override
@Override
protected
String
getLocalContextPath
()
{
protected
String
getLocalContextPath
()
{
//
配置
文件放在resources目录下
//
规则
文件放在resources目录下
return
"classpath:rule1.xml"
;
return
"classpath:rule1.xml"
;
//
配置
文件放在工程根目录下
//
规则
文件放在工程根目录下
// return "file:rule1.xml";
// return "file:rule1.xml";
}
}
// 从远程配置中心获取
配置
// 从远程配置中心获取
规则
@Override
@Override
public
InputStream
getRemoteInputStream
()
{
public
InputStream
getRemoteInputStream
()
{
try
{
try
{
...
@@ -43,12 +43,12 @@ public class DiscoveryConfigAdapter extends ConfigAdapter {
...
@@ -43,12 +43,12 @@ public class DiscoveryConfigAdapter extends ConfigAdapter {
return
null
;
return
null
;
}
}
// 订阅远程配置中心的
配置
更新
// 订阅远程配置中心的
规则
更新
/*@PostConstruct
/*@PostConstruct
public void publish() {
public void publish() {
ThreadLocalRandom threadLocalRandom = ThreadLocalRandom.current();
ThreadLocalRandom threadLocalRandom = ThreadLocalRandom.current();
// 模拟每隔15秒通过EventBus接收远程配置中心推送过来的
配置
更新
// 模拟每隔15秒通过EventBus接收远程配置中心推送过来的
规则
更新
Timer timer = new Timer();
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
public void run() {
...
...
discovery-springcloud-example-a/src/main/resources/application.properties
View file @
0ae175fa
...
@@ -10,7 +10,7 @@ eureka.instance.metadataMap.version=1.0
...
@@ -10,7 +10,7 @@ eureka.instance.metadataMap.version=1.0
spring.application.register.control.enabled
=
true
spring.application.register.control.enabled
=
true
# 开启和关闭服务发现层面的控制。一旦关闭,服务多版本调用的控制功能将失效,动态屏蔽指定IP地址的服务实例被发现的功能将失效。缺失则默认为true
# 开启和关闭服务发现层面的控制。一旦关闭,服务多版本调用的控制功能将失效,动态屏蔽指定IP地址的服务实例被发现的功能将失效。缺失则默认为true
spring.application.discovery.control.enabled
=
true
spring.application.discovery.control.enabled
=
true
# 开启和关闭远程配置中心规则
配置文件读取。一旦关闭,默认读取本地规则配置
文件(例如:rule.xml)。缺失则默认为true
# 开启和关闭远程配置中心规则
文件读取。一旦关闭,默认读取本地规则
文件(例如:rule.xml)。缺失则默认为true
spring.application.discovery.remote.config.enabled
=
true
spring.application.discovery.remote.config.enabled
=
true
management.port
=
5432
management.port
=
5432
...
...
discovery-springcloud-example-a/src/main/resources/rule1.xml
View file @
0ae175fa
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
<!-- 服务发现的多版本灰度访问控制 -->
<!-- 服务发现的多版本灰度访问控制 -->
<!-- service-name,表示服务名 -->
<!-- service-name,表示服务名 -->
<!-- version-value,表示可供访问的版本,如果多个用“;”分隔,不允许出现空格 -->
<!-- version-value,表示可供访问的版本,如果多个用“;”分隔,不允许出现空格 -->
<!--
配置
策略介绍 -->
<!--
版本
策略介绍 -->
<!-- 1. 标准配置,举例如下 -->
<!-- 1. 标准配置,举例如下 -->
<!-- <service consumer-service-name="a" provider-service-name="b" consumer-version-value="1.0" provider-version-value="1.0;1.1"/> 表示消费端1.0版本,允许访问提供端1.0和1.1版本 -->
<!-- <service consumer-service-name="a" provider-service-name="b" consumer-version-value="1.0" provider-version-value="1.0;1.1"/> 表示消费端1.0版本,允许访问提供端1.0和1.1版本 -->
<!-- 2. 版本值不配置,举例如下 -->
<!-- 2. 版本值不配置,举例如下 -->
...
...
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