dubbo-go icon indicating copy to clipboard operation
dubbo-go copied to clipboard

[FEATURE] Enhanced HTTP/3 transport configuration options with support for core QUIC parameter settings

Open CAICAIIs opened this issue 3 weeks ago • 2 comments

✅ 验证清单

  • [x] 🔍 我已经搜索过 现有 Issues,确信这不是重复请求
  • [x] 📋 我已经查看了 发布说明,确信此功能尚未实现

🎯 功能描述

当前项目的 HTTP/3 配置过于简单,目前是部分实现了连接管理,Http3Config 结构体仅包含 Enable 和 Negotiation 两个基础配置项:

  • 服务器端配置缺失:服务器端的 QUIC 配置为空
  • 流控制未实现:缺少 MaxIncomingStreams 等关键流控制参数
  • 配置不对称:客户端有基本连接管理,而服务器端没有配置(protocol/triple/triple_protocol/server.go

global/http3_config.go:

type Http3Config struct {
	Enable bool `yaml:"enable" json:"enable,omitempty"`

	Negotiation bool `yaml:"negotiation" json:"negotiation,omitempty"`

	// TODO: add more params about http3
}

代码中多处 TODO 注释也表明需要扩展 HTTP/3 参数 。

📋 使用场景

  • 微服务架构中需要控制并发连接数,防止资源耗尽
  • 通过 MaxIncomingStreams 限制单个连接的并发请求数

⚖️ 复杂性与风险评估

QUIC 传输层配置参考 quic-go库的quic.Config实现,如: 连接管理参数:MaxIdleTimeoutKeepAlivePeriod 流控制参数:MaxIncomingStreamsMaxIncomingUniStreams

🔗 外部依赖

No response

📚 附加信息

No response

CAICAIIs avatar Dec 05 '25 11:12 CAICAIIs

please assign to me

CAICAIIs avatar Dec 05 '25 13:12 CAICAIIs

不急,先写个提案

Alanxtl avatar Dec 14 '25 12:12 Alanxtl