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
9547c8a3
Commit
9547c8a3
authored
Jun 23, 2018
by
Nepxion
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改介绍
parent
ea6fbd44
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
40 additions
and
2 deletions
+40
-2
README.md
+40
-2
No files found.
README.md
View file @
9547c8a3
...
@@ -72,17 +72,55 @@ Nepxion Discovery是一款对Spring Cloud Discovery的服务注册增强插件
...
@@ -72,17 +72,55 @@ Nepxion Discovery是一款对Spring Cloud Discovery的服务注册增强插件
<service
consumer-service-name=
"a"
provider-service-name=
"b"
consumer-version-value=
"1.0"
provider-version-value=
""
/>
表示消费端1.0版本,允许访问提供端任何版本
<service
consumer-service-name=
"a"
provider-service-name=
"b"
consumer-version-value=
"1.0"
provider-version-value=
""
/>
表示消费端1.0版本,允许访问提供端任何版本
<service
consumer-service-name=
"a"
provider-service-name=
"b"
consumer-version-value=
""
provider-version-value=
""
/>
表示消费端任何版本,允许访问提供端任何版本
<service
consumer-service-name=
"a"
provider-service-name=
"b"
consumer-version-value=
""
provider-version-value=
""
/>
表示消费端任何版本,允许访问提供端任何版本
4. 版本对应关系未定义,默认消费端任何版本,允许访问提供端任何版本
4. 版本对应关系未定义,默认消费端任何版本,允许访问提供端任何版本
特殊情况处理,在使用上需要极力避免该情况发生
特殊情况处理,在使用上需要极力避免该情况发生
1. 消费端的application.properties未定义版本号(即eureka.instance.metadataMap.version不存在),则该消费端可以访问提供端任何版本
1. 消费端的application.properties未定义版本号(即eureka.instance.metadataMap.version不存在),则该消费端可以访问提供端任何版本
2. 提供端的application.properties未定义版本号(即eureka.instance.metadataMap.version不存在),当消费端在xml里不做任何版本配置,才可以访问该提供端
2. 提供端的application.properties未定义版本号(即eureka.instance.metadataMap.version不存在),当消费端在xml里不做任何版本配置,才可以访问该提供端
```
```
### 跟远程配置中心整合
使用者可以跟携程Apollo,百度DisConf等远程配置中心整合
继承AbstractConfigLoader.java,实现配置文件获取的对接
```
java
public
class
DiscoveryConfigLoader
extends
AbstractConfigLoader
{
// 通过application.properties里的spring.application.discovery.remote.config.enabled=true,来决定走远程配置中心,还是本地
// 从远程配置中心获取XML内容
@Override
public
InputStream
getRemoteInputStream
()
{
return
null
;
}
// 从本地获取XML内容
@Override
protected
String
getLocalContextPath
()
{
// 配置文件放在resources目录下
return
"classpath:rule1.xml"
;
// 配置文件放在工程根目录下
// return "file:rule1.xml";
}
}
```
实现接收远程配置中心推送过来的配置更新
```
java
public
class
DiscoveryConfigSubscriber
{
@Autowired
private
ConfigPublisher
configPublisher
;
public
void
subscribe
()
{
// 订阅远程推送内容,再通过内置的发布订阅机制异步推送给缓存
configPublisher
.
publish
(
inputStream
);
}
}
```
### 代码示例
### 代码示例
#### B服务实现
#### B服务实现
B服务的两个实例B1和B2采用标准的Spring Cloud入口,参考discovery-springcloud-example-b1、discovery-springcloud-example-b2和discovery-springcloud-example-b3工程
B服务的两个实例B1和B2采用标准的Spring Cloud入口,参考discovery-springcloud-example-b1、discovery-springcloud-example-b2和discovery-springcloud-example-b3工程
唯一需要做的是在applicaiton.properties维护版本号,如下
唯一需要做的是在applicaiton.properties维护版本号,如下
```
xml
```
xml
eureka.instance.metadataMap.version=
1.0
eureka.instance.metadataMap.version=
[version]
```
```
#### A服务实现
#### A服务实现
...
...
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