Commit 17765f74 by Nepxion

修改介绍

parent 28f143a8
...@@ -209,10 +209,9 @@ spring.application.discovery.remote.config.enabled=true ...@@ -209,10 +209,9 @@ spring.application.discovery.remote.config.enabled=true
## 配置中心 ## 配置中心
### 跟远程配置中心整合 ### 跟远程配置中心整合
使用者可以跟携程Apollo,百度DisConf等远程配置中心整合,实现规则读取和订阅 使用者可以跟携程Apollo,百度DisConf等远程配置中心整合,实现规则读取和订阅
```xml - 主动从本地或远程配置中心获取规则
1. 主动从本地或远程配置中心获取规则 - 订阅远程配置中心的规则更新
2. 订阅远程配置中心的规则更新
```
继承ConfigAdapter.java 继承ConfigAdapter.java
```java ```java
public class DiscoveryConfigAdapter extends ConfigAdapter { public class DiscoveryConfigAdapter extends ConfigAdapter {
...@@ -245,7 +244,7 @@ public class DiscoveryConfigAdapter extends ConfigAdapter { ...@@ -245,7 +244,7 @@ public class DiscoveryConfigAdapter extends ConfigAdapter {
``` ```
## 管理中心 ## 管理中心
注意:端口号为management.port的值 > 端口号为management.port的值
### 推送规则配置信息 ### 推送规则配置信息
使用者可以通过Rest方式向一个微服务推送规则信息,但该方式只能每次推送到一个微服务上 使用者可以通过Rest方式向一个微服务推送规则信息,但该方式只能每次推送到一个微服务上
```java ```java
...@@ -302,7 +301,7 @@ http://IP:[management.port]/version/view ...@@ -302,7 +301,7 @@ http://IP:[management.port]/version/view
``` ```
## 路由中心 ## 路由中心
注意:端口号为server.port的值 > 端口号为server.port的值
### 获取本地节点可访问其他节点(根据服务名)的实例列表 ### 获取本地节点可访问其他节点(根据服务名)的实例列表
```java ```java
Java: Java:
...@@ -357,21 +356,17 @@ http://IP:[server.port]/routeAll ...@@ -357,21 +356,17 @@ http://IP:[server.port]/routeAll
## 扩展和自定义更多规则或者监听 ## 扩展和自定义更多规则或者监听
使用者可以继承如下类 使用者可以继承如下类
```xml - AbstractRegisterListener,实现服务注册的扩展和监听
1. AbstractRegisterListener,实现服务注册的扩展和监听 - AbstractDiscoveryListener,实现服务发现的扩展和监听,注意,在Consul下,同时会触发service和management两个实例的事件,需要区别判断,见图1
2. AbstractDiscoveryListener,实现服务发现的扩展和监听,注意,在Consul下,同时会触发service和management两个实例的事件,需要区别判断,见图1
```
图1,集成了健康检查的Consul控制台 图1,集成了健康检查的Consul控制台
![Alt text](https://github.com/Nepxion/Docs/blob/master/discovery-plugin-doc/Consul.jpg) ![Alt text](https://github.com/Nepxion/Docs/blob/master/discovery-plugin-doc/Consul.jpg)
## Spring Cloud引入Consul的坑 ## Spring Cloud引入Consul的坑
```xml
spring-cloud-consul的2.0.0.RELEASE(目前最新的稳定版)支持consul-api-1.2.2版本,它不兼容Consul的1.0.0以上的服务器,原因是服务的deregister在consul-api-1.2.2中是执行GET方法,而Consul的1.0.0以上的服务器对应的是PUT方法 spring-cloud-consul的2.0.0.RELEASE(目前最新的稳定版)支持consul-api-1.2.2版本,它不兼容Consul的1.0.0以上的服务器,原因是服务的deregister在consul-api-1.2.2中是执行GET方法,而Consul的1.0.0以上的服务器对应的是PUT方法
解决办法,二选一 解决办法,二选一
1. 选用1.0.0以下的服务器,从https://releases.hashicorp.com/consul/0.9.3/获取 - 选用1.0.0以下的服务器,从https://releases.hashicorp.com/consul/0.9.3/获取
2. 或者,spring-cloud-consul中consul-api-1.2.2.jar替换到最新的版本 - 或者,spring-cloud-consul中consul-api-1.2.2.jar替换到最新的版本
```
## 示例演示 ## 示例演示
### 场景描述 ### 场景描述
...@@ -380,13 +375,12 @@ spring-cloud-consul的2.0.0.RELEASE(目前最新的稳定版)支持consul-ap ...@@ -380,13 +375,12 @@ spring-cloud-consul的2.0.0.RELEASE(目前最新的稳定版)支持consul-ap
图2 图2
![Alt text](https://github.com/Nepxion/Docs/blob/master/discovery-plugin-doc/Version.jpg) ![Alt text](https://github.com/Nepxion/Docs/blob/master/discovery-plugin-doc/Version.jpg)
```xml - 微服务集群部署了3个,分别是A服务集群、B服务集群、C服务集群,分别对应的实例数为1、2、3
1. 微服务集群部署了3个,分别是A服务集群、B服务集群、C服务集群,分别对应的实例数为1、2、3 - 微服务集群的调用关系为服务A->服务B->服务C
2. 微服务集群的调用关系为服务A->服务B->服务C - 服务A1.0版本只能调用服务B的1.0,服务A1.1版本只能调用服务B的1.1版本,服务B的1.0版本只能调用服务C的1.0和1.1版本,服务B的1.1版本只能调用服务C的1.2版本
3. 服务A1.0版本只能调用服务B的1.0,服务A1.1版本只能调用服务B的1.1版本,服务B的1.0版本只能调用服务C的1.0和1.1版本,服务B的1.1版本只能调用服务C的1.2版本 - 服务A启动时候为1.0版本,然后运行后,动态切换成1.1版本,那么调用路径从如下图所示实线调用,改成虚线调用的灰度方式
4. 服务A启动时候为1.0版本,然后运行后,动态切换成1.1版本,那么调用路径从如下图所示实线调用,改成虚线调用的灰度方式 - 推送服务B1和B2的版本对应关系,从规则上改变调用方式
5. 推送服务B1和B2的版本对应关系,从规则上改变调用方式
```
用规则来表述上述关系 用规则来表述上述关系
```xml ```xml
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment