apache / apache/dubbo

[ASoC 2022] Dubbo support offline gracefully

Open
#10,089 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
41.6k
Forks
26.4k
Avg merge
15h 13m
Merged PRs (30d)
4

Description

## Background

This is an Advance subject of [ASoC 2022](https://opensource.alibaba.com/asoc2022) and https://github.com/apache/dubbo/issues/10088 .

For applications deployed with Dubbo service, since application publishing needs to restart the process, many in-transit requests will fail due to the shutdown of the process at this time. Therefore, Dubbo needs a mechanism to notify all consumers not to initiate new requests before the application process exits, and at the same time wait for all in-transit requests to end before closing the process.

## Difficulty

Advance

## Mentor

- @AlbumenJ albumenj@apache.org
- @LaurenceLiZhixin laurence@apache.org

## Output Requirement

- This topic requires implementation on both the Java and Go SDKs.
- This implementation is not based on registry notification.
- Dubbo can notify all of its consumers that provider is going to shutdown.
- Dubbo can wait for all its consumers to close until there are no requests.

#

## 背景

这是一个[阿里巴巴编程之夏 2022](https://opensource.alibaba.com/asoc2022) 的进阶课题 https://github.com/apache/dubbo/issues/10088 。

对于部署了 Dubbo 服务的应用,由于应用发布需要重启进程,这个时候很多在途请求会由于进程的关闭而失败。因此 Dubbo 需要一种机制,在应用进程退出前通知所有的消费端不再发起新的请求,同时等待所有在途请求结束后再关闭进程。

## 难度

进阶

## 导师

- @AlbumenJ albumenj@apache.org
- @LaurenceLiZhixin laurence@apache.org

## 产出要求
- 本题目需要在 Java 和 Go SDK 上均进行实现。
- 此实现要求不基于注册中心的通知。
- Dubbo 可以通知所有消费者提供者将要关闭。
- Dubbo 可以等待所有消费者关闭,直到没有请求为止。

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.