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
d35103ae
Commit
d35103ae
authored
Jul 02, 2018
by
Nepxion
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改介绍
parent
7cdaa926
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
24 additions
and
27 deletions
+24
-27
README.md
+24
-27
No files found.
README.md
View file @
d35103ae
...
...
@@ -5,38 +5,35 @@
[

](https://travis-ci.org/Nepxion/Discovery)
Nepxion Discovery是一款对Spring Cloud Discovery的服务注册增强插件,支持Eureka、Consul和Zookeeper。现有的Spring Cloud微服务可以方便引入该插件,使用者不需要对业务代码做任何修改,只需要做三个非常容易的事情
1. 引入Plugin Starter依赖到pom.xml
2. 为微服务定义一个版本号在application.properties里,相信很多使用者本身就已经这么做了
3. 如果采用了远程配置中心集成的话,那么只需要在那里修改规则(XML),触发推送;如果未集成,可以通过客户端工具(例如Postman)推送修改的规则(XML)
-
引入Plugin Starter依赖到pom.xml
-
为微服务定义一个版本号在application.properties里,相信很多使用者本身就已经这么做了
-
如果采用了远程配置中心集成的话,那么只需要在那里修改规则(XML),触发推送;如果未集成,可以通过客户端工具(例如Postman)推送修改的规则(XML)
## 痛点
现有Spring Cloud的痛点
1. 如果你是运维负责人,是否会经常发现,你掌管的测试环境中的服务注册中心,被一些不负责的开发人员把他本地开发环境注册上来,造成测试人员测试失败。你希望可以把本地开发环境注册给屏蔽掉,不让注册
2. 如果你是运维负责人,生产环境的某个微服务集群下的某个实例,暂时出了问题,但又不希望它下线。你希望可以把该实例给屏蔽掉,暂时不让被调用
3. 如果你是业务负责人,鉴于业务服务的快速迭代性,微服务集群下的实例发布不同的版本。你希望根据版本管理策略进行路由,提供给下游微服务区别调用,达到多版本灰度访问控制
4. 如果你是测试负责人,希望对微服务做A/B测试,那么通过动态改变版本达到该目的
-
如果你是运维负责人,是否会经常发现,你掌管的测试环境中的服务注册中心,被一些不负责的开发人员把他本地开发环境注册上来,造成测试人员测试失败。你希望可以把本地开发环境注册给屏蔽掉,不让注册
-
如果你是运维负责人,生产环境的某个微服务集群下的某个实例,暂时出了问题,但又不希望它下线。你希望可以把该实例给屏蔽掉,暂时不让被调用
-
如果你是业务负责人,鉴于业务服务的快速迭代性,微服务集群下的实例发布不同的版本。你希望根据版本管理策略进行路由,提供给下游微服务区别调用,达到多版本灰度访问控制
-
如果你是测试负责人,希望对微服务做A/B测试,那么通过动态改变版本达到该目的
## 简介
1. 实现服务注册层面的控制
1.1 基于黑/白名单的IP地址过滤机制禁止对相应的微服务进行注册
1.2 基于最大注册数的限制微服务注册。一旦微服务集群下注册的实例数目已经达到上限(可配置),将禁止后续的微服务进行注册
2. 实现服务发现层面的控制
2.1 基于黑/白名单的IP地址过滤机制禁止对相应的微服务被发现
2.2 基于版本配对,通过对消费端和提供端可访问版本对应关系的配置,进行多版本灰度访问控制
4. 实现通过XML进行上述规则的定义
5. 实现通过事件总线机制(EventBus)的功能,实现发布/订阅功能
5.1 对接远程配置中心,异步接受远程配置中心主动推送规则信息
5.2 结合Spring Boot Actuator,异步接受Rest主动推送规则信息
5.3 结合Spring Boot Actuator,动态改变微服务的版本
5.4 在服务注册层面的控制中,一旦禁止注册的条件触发,主动推送异步事件,以便使用者订阅
7. 实现通过Listener机制进行扩展
7.1 使用者可以自定义更多的规则过滤条件
7.2 使用者可以对服务注册发现核心事件进行监听监听
8. 实现通过Spring Boot Actuator的集成,提供健康检查功能
9. 实现支持未来扩展更多的服务注册中心
-
实现服务注册层面的控制
-
基于黑/白名单的IP地址过滤机制禁止对相应的微服务进行注册
-
基于最大注册数的限制微服务注册。一旦微服务集群下注册的实例数目已经达到上限(可配置),将禁止后续的微服务进行注册
-
实现服务发现层面的控制
-
基于黑/白名单的IP地址过滤机制禁止对相应的微服务被发现
-
基于版本配对,通过对消费端和提供端可访问版本对应关系的配置,进行多版本灰度访问控制
-
实现通过XML进行上述规则的定义
-
实现通过事件总线机制(EventBus)的功能,实现发布/订阅功能
-
对接远程配置中心,异步接受远程配置中心主动推送规则信息
-
结合Spring Boot Actuator,异步接受Rest主动推送规则信息
-
结合Spring Boot Actuator,动态改变微服务的版本
-
在服务注册层面的控制中,一旦禁止注册的条件触发,主动推送异步事件,以便使用者订阅
-
实现通过Listener机制进行扩展
-
使用者可以自定义更多的规则过滤条件
-
使用者可以对服务注册发现核心事件进行监听监听
-
实现通过Spring Boot Actuator的集成,提供健康检查功能
-
实现支持未来扩展更多的服务注册中心
## 场景
...
...
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