https://github.com/mytang0/fairydust
Pluggable gray-scale components on the server side, currently supports Apache Dubbo (compatible with Alibaba Dubbo)
https://github.com/mytang0/fairydust
agent dubbo grayscale-plugin non-intrusive proxyless server-side
Last synced: about 1 year ago
JSON representation
Pluggable gray-scale components on the server side, currently supports Apache Dubbo (compatible with Alibaba Dubbo)
- Host: GitHub
- URL: https://github.com/mytang0/fairydust
- Owner: mytang0
- License: apache-2.0
- Created: 2021-08-09T07:33:46.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-02-16T13:54:20.000Z (over 3 years ago)
- Last Synced: 2025-03-28T15:51:47.160Z (about 1 year ago)
- Topics: agent, dubbo, grayscale-plugin, non-intrusive, proxyless, server-side
- Language: Java
- Homepage:
- Size: 646 KB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## 背景
当分布式调度架构中缺少统一的调度网关,各业务团队通过 Dubbo Client 直接将流量打到了服务端,而要业务团队配合服务端做灰度更是不现实的,所以重要版本的发布就是一件极其头大的事。
在这种情况下,我们就只能打服务端的主意,把一个个服务端变成一个个微型调度网关。从实践上来说,这是可行的。

## 方案
### 原则
- 对应用服务透明
不用入侵应用,无配置无开发无发版。很好理解:
1、对开发的新版本来说无所谓,但是旧版本呢?
2、代理对应用肯定是有一定性能影响的,灰度完成后(已摘除旧版本)如何无感知的摘除新版本的代理?
- 能适配多种代理
目前来说就 Duddo 服务的代理。因为 Rest 请求,走统一网关有更优雅的实现,例如:Nginx 。
### 设计
#### 总体设计

#### 代理设计

#### 代理实现

### 使用手册
[详见](doc/use.md)