You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@dubbo.apache.org by Albumen Kevin <al...@apache.org> on 2022/06/27 01:37:51 UTC

[Minutes] 24th June 2022 : Dubbo Weekly Meeting

Meeting time: 24 June 2022, 20:30 (GMT +8)
Participants: liujun, albumen, earthchen, xiongpin, etc.
Playback address:
https://www.bilibili.com/video/BV1Q3411c71c/?vd_source=597fba5a448c8c27a9ad5f63263c117f

This week's weekly meeting mainly discussed the ease of use of Dubbo, and
proposed several solutions to optimize the experience of Dubbo, which
requires further follow-up and implementation by the community. In
addition, Zhou Hui discussed in detail the details of Dubbo Mesh that
everyone cares about.

## Ease of use

### 1. Dubbo Test Component
Status: to be planned
Background: The current Dubbo service test does not support the Triple
protocol
Solution: By abstracting a set of test tools, similar to postman or grpc
ReflectionService

### 2. Request time-consuming detail location tool
Status: Documents to be improved
Background: Occasionally, when users request the Dubbo interface, the
request times out. However, due to the complexity of the links passing in
the middle, it is difficult to locate the specific cause of the timeout.
Solution: Dubbo collects the processing time at the requested extension
point and prints it out through the log. Currently, there is no
corresponding introduction document.

### 3. Service thread pool isolation problem
Status: to be planned
Background: When the processing of some interfaces is stuck (such as
database connection interruption, etc.), the thread pool will be stuck,
causing the thread pool to be full, and then dragging down the entire
thread pool.
Solution: Provide a thread pool isolation scheme based on service
granularity to isolate key services


### 4. Routing error troubleshooting tool/solution
Status: Documents to be improved
Background: When a user requests the Dubbo interface, due to problems such
as registry configuration problems, server status, and routing processing
exceptions, no available server addresses are available for the request,
and an error is reported.
Solution: Print out the processing process by improving logs such as log
output registration center status, routing status, etc. to simplify the
troubleshooting process. Currently, there is a lack of corresponding
documentation.

### 5. Error log external link FAQ
Status: to be planned
Background: The Logger abstraction layer that Dubbo relies on provides log
output capability, but most of the exception logs do not have
troubleshooting instructions, so users cannot handle the exception after
seeing the exception.
Solution: By improving the FAQ and other documents in the official
documents, when the Dubbo log framework outputs abnormality, it will also
output the corresponding official website description link, so as to guide
users to conduct independent investigation.

### 6. Dubbo Initilizer
Status: to be improved
Background: Dubbo Initializer is used to quickly build a simple sample
application of SpringBoot and Dubbo. At present, the project is behind the
latest version and needs to be updated in time

## Mesh aspects

### 1. MCP synchronization scheme
Background: The metadata and routing rules required for Dubbo
application-level service discovery cannot be fully pushed through the
native xDS protocol, and new push methods need to be explored
Scenario: Synchronize Dubbo-specific routing rules and service information
via MCP

### 2. Multi-environment interoperability solution under Mesh
Background: During the process of migrating users to Dubbo Mesh, Dubbo Mesh
coexists with other architectures for a long time.
Solution: 1. Intercommunication through gateway-based mode, Mesh
environment and external data exchange through ingress and egress
          2. Through the multi-registration method, the internal and
external networks of the mesh are directly connected, and the services of
other architectures are called through the previous method. This solution
needs to pay attention to the problem of IP network segment allocation.


### 3. Feedback
Received feedback from users that pods may be stuck under Kubernetes, which
has not been reproduced in the community, and will be reproduced on site in
the future


会议时间:2022 年 6 月 24 日 20:30 (GMT +8)
参会人:liujun, albumen, earthchen, xiongpin 等
回放地址:
https://www.bilibili.com/video/BV1Q3411c71c/?vd_source=597fba5a448c8c27a9ad5f63263c117f

本周周会主要讨论了 Dubbo 易用性方面的问题,提出了若干优化 Dubbo 使用体验的方案,需要社区进一步跟进实现。此外,周会就大家关心的
Dubbo Mesh 的细节进行了详细讨论。

## 易用性方面

### 1. Dubbo 测试组件
状态:待规划
背景:当前的 Dubbo 服务测试不支持 Triple 协议
解决方案:通过抽象出一套测试工具,类似 postman 或者 grpc ReflectionService

### 2. 请求耗时细节定位工具
状态:待完善文档
背景:用户在请求 Dubbo 接口的时候偶尔会出现请求超时的情况,但是由于中间经过的链路复杂,很难定位具体超时的原因
解决方案:Dubbo 在请求的扩展点上采集了处理耗时,通过日志打印出来,目前缺少对应的介绍文档

### 3. 服务线程池隔离问题
状态:待规划
背景:在部分接口出现处理卡顿的时候(如数据库连接中断等),会卡住线程池,导致线程池满,进而拖垮整个线程池
解决方案:提供基于服务粒度的线程池隔离方案,对重点服务进行隔离处理


### 4. 路由报错排查工具 / 方案
状态:待完善文档
背景:用户在请求 Dubbo 接口的时候由于注册中心配置问题、服务端状态、路由处理异常等问题,导致请求无可用的服务端地址可用,进而报错
解决方案:通过完善日志输出注册中心状态,路由状态等日志把处理过程打印出来,简化排查流程,目前缺少对应的文档介绍

### 5. 报错日志外链 FAQ
状态:待规划
背景:Dubbo 内部依赖的 Logger 抽象层提供了日志输出能力,但是大部分的异常日志都没有附带排查说明,导致用户看到异常后无法进行处理
解决方案:通过完善官方文档中的 FAQ 等文档,在 Dubbo 日志框架输出异常的同时附带输出对应的官网说明链接,引导用户进行自主排查

### 6. Dubbo Initilizer
状态:待完善
背景:Dubbo Initializer 用于快速搭建 SpringBoot 和 Dubbo 的简单示例应用,目前该项目已落后最新版本,需要及时更新

## Mesh 方面

### 1. MCP 同步方案
背景:Dubbo 应用级服务发现所需要的元数据和路由规则通过原生的 xDS 协议无法完全推送,需要探索新的推送方式
方案:通过 MCP 同步 Dubbo 特定的路由规则和服务信息

### 2. Mesh 下多环境互通方案
背景:用户在迁移到 Dubbo Mesh 的过程中,存在较长的一段时间 Dubbo Mesh 与其他架构共存的情况。
解决方案:1. 通过基于网关的方式进行互通,Mesh 环境与外部通过 ingress 和 egress 进行数据交互
         2. 通过多注册的方式,Mesh 内外网络直接打通,其他架构的服务通过之前方式调用,此方案需要注意 IP 网段分配问题

### 3. 问题反馈
收到用户反馈 Kubernetes 下可能出现 pod 卡住的问题,社区未复现,待以后有现场复现