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
8a437542
Commit
8a437542
authored
Jul 05, 2018
by
Nepxion
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改介绍
parent
086fe7ac
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
12 deletions
+15
-12
README.md
+15
-12
No files found.
README.md
View file @
8a437542
...
...
@@ -344,7 +344,7 @@ Url:
http:
//IP:[server.port]/route/{routeServiceId}/{routeHost}/{routePort}
```
### 获取全路径的路由信息
### 获取全路径的路由信息
树
routeServiceIds按调用服务名的前后次序排列,起始节点的服务名不能加上去。如果多个用“;”分隔,不允许出现空格
```
java
Java:
...
...
@@ -355,12 +355,15 @@ Url:
http:
//IP:[server.port]/routes
```
上述操作,也可以通过集成的Swagger服务来执行,如图1

## 扩展和自定义更多规则或者监听
使用者可以继承如下类
-
AbstractRegisterListener,实现服务注册的扩展和监听
-
AbstractDiscoveryListener,实现服务发现的扩展和监听,注意,在Consul下,同时会触发service和management两个实例的事件,需要区别判断,
见图1
-
AbstractDiscoveryListener,实现服务发现的扩展和监听,注意,在Consul下,同时会触发service和management两个实例的事件,需要区别判断,
如图2
图
1
,集成了健康检查的Consul控制台
图
2
,集成了健康检查的Consul控制台

## Spring Cloud引入Consul的坑
...
...
@@ -370,9 +373,9 @@ spring-cloud-consul的2.0.0.RELEASE(目前最新的稳定版)支持consul-ap
## 示例演示
### 场景描述
本例将模拟一个较为复杂的场景,如图
2
本例将模拟一个较为复杂的场景,如图
3
图
2
图
3

...
...
@@ -435,16 +438,16 @@ spring-cloud-consul的2.0.0.RELEASE(目前最新的稳定版)支持consul-ap
-
通过Postman或者浏览器,执行GET
[
http://localhost:1200/instances/discovery-springcloud-example-c
](
http://localhost:1200/instances/discovery-springcloud-example-c
)
,查看当前B1服务可访问C服务的列表
-
通过Postman或者浏览器,执行GET
[
http://localhost:1201/instances/discovery-springcloud-example-c
](
http://localhost:1201/instances/discovery-springcloud-example-c
)
,查看当前B2服务可访问C服务的列表
-
灰度版本切换
-
通过Postman或者浏览器,执行POST
[
http://localhost:1100/routes
](
http://localhost:1100/routes
)
,填入discovery-springcloud-example-b;discovery-springcloud-example-c,查看路由路径,如图
3,可以看到符合图2
的实线调用路径
-
通过Postman或者浏览器,执行POST
[
http://localhost:1100/routes
](
http://localhost:1100/routes
)
,填入discovery-springcloud-example-b;discovery-springcloud-example-c,查看路由路径,如图
4,可以看到符合图3
的实线调用路径
-
通过Postman或者浏览器,执行POST
[
http://localhost:5100/version/send
](
http://localhost:5100/version/send
)
,填入1.1,动态把服务A的版本从1.0切换到1.1
-
再执行3.1步骤,如图
4,可以看到符合图2
的虚线调用路径,符合逻辑,灰度版本切换成功
-
再执行3.1步骤,如图
5,可以看到符合图3
的虚线调用路径,符合逻辑,灰度版本切换成功
-
灰度版本控制
-
通过Postman或者浏览器,执行POST
[
http://localhost:5200/config/send
](
http://localhost:5200/config/send
)
,发送新的规则XML(内容见下面),表示B服务的所有版本都只能访问C服务3.0版本,而本例中C服务3.0版本是不存在的,意味着B服务不能访问C服务
-
访问
[
http://localhost:5201/config/send
](
http://localhost:5201/config/send
)
,重复4.1步骤
-
重复3.1步骤,发现调用路径只有A服务->B服务,符合逻辑,灰度版本控制成功
-
负载均衡的灰度测试
-
通过Postman或者浏览器,执行POST
[
http://localhost:1100/invoke
](
http://localhost:1100/invoke
)
,这是example内置的单条路由实例(通过Feign实现)
-
重复“灰度版本切换”或者“灰度版本控制”操作,查看Ribbon负载均衡的灰度结果,如图
6。特别注意,结果视Ribbon的同步速度,默认情况下会有几秒延迟
-
重复“灰度版本切换”或者“灰度版本控制”操作,查看Ribbon负载均衡的灰度结果,如图
7
-
其它更多操作,请参考“管理中心”和“路由中心”,不一一阐述了
新XML规则
...
...
@@ -459,19 +462,19 @@ spring-cloud-consul的2.0.0.RELEASE(目前最新的稳定版)支持consul-ap
</rule>
```
图
3
图
4

图
4
图
5

图
5
图
6

图
6
图
7

...
...
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