apache / dubbo-awesome

Collections of Apache dubbo relevant informations
https://dubbo.apache.org/
136 stars 40 forks source link

24th June 2022 : Dubbo Weekly Meeting #76

Closed CrazyHZM closed 2 years ago

CrazyHZM commented 2 years ago

Meeting Information

Agenda

  1. https://github.com/apache/dubbo/issues/10154
  2. Dubbo Mesh
  3. Dubbo Demo
  4. Observability (optional)

会议信息

议程

  1. https://github.com/apache/dubbo/issues/10154
chickenlj commented 2 years ago

会议回放录像查看

Bilibili:https://www.bilibili.com/video/BV1Q3411c71c/?vd_source=597fba5a448c8c27a9ad5f63263c117f 微信公众号:https://mp.weixin.qq.com/s/VgceHTtqtUtIv_oGg6ivqg

AlbumenJ commented 2 years ago

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

Task issue: https://github.com/apache/dubbo/issues/10220 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

Task issue: https://github.com/apache/dubbo/issues/10201 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

Task issue: https://github.com/apache/dubbo/issues/10221 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

Task issue: https://github.com/apache/dubbo/issues/10223 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

Task issue: https://github.com/apache/dubbo/issues/10224 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

  1. 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. 请求耗时细节定位工具

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

3. 服务线程池隔离问题

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

4. 路由报错排查工具 / 方案

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

5. 报错日志外链 FAQ

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

6. Dubbo Initilizer

任务 issue:https://github.com/apache/dubbo/issues/10224 状态:待完善 背景:Dubbo Initializer 用于快速搭建 SpringBoot 和 Dubbo 的简单示例应用,目前该项目已落后最新版本,需要及时更新

Mesh 方面

1. MCP 同步方案

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

2. Mesh 下多环境互通方案

背景:用户在迁移到 Dubbo Mesh 的过程中,存在较长的一段时间 Dubbo Mesh 与其他架构共存的情况。 解决方案:1. 通过基于网关的方式进行互通,Mesh 环境与外部通过 ingress 和 egress 进行数据交互

  1. 通过多注册的方式,Mesh 内外网络直接打通,其他架构的服务通过之前方式调用,此方案需要注意 IP 网段分配问题

3. 问题反馈

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