Skip to content

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

Description

@CAICAIIs

✅ 验证清单

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

🎯 功能描述

当前项目的 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

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Fields

No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions