Skip to content

[Optimize/优化]: 会话亲和性优化 #2084

Description

@MeowSalty

Pre-submission Checklist / 提交前检查

  • I have searched the existing issues and this optimization has not been suggested / 我已搜索现有 issues,此优化建议尚未被提出
  • I have read the documentation / 我已阅读文档

FAQ Check / FAQ 检查

  • I have checked the FAQ and this optimization has not been suggested there / 我已查阅 FAQ,此优化建议未被提及

Current State / 当前状态

目前项目在实现会话亲和性时,使用了AH-Trace-Id和AH-Thread-Id这两个私有实现作为主追踪头部,环境变量自定义AXONHUB_SERVER_TRACE_EXTRA_TRACE_HEADERS作为备选的方式。

Problem or Bottleneck / 问题或瓶颈

但这种方式存在对多种客户端兼容性较差的问题,因为不同的客户端都具有不完全一致的会话标记头部。项目中也能看到为了对cc和codex而做了特别的维护处理。同时也能在issue中观察到提出支持某些客户端的请求。

Proposed Optimization / 优化方案

其实如果观察这些客户端的头部规律,可以发现其具有一定的命名规律,可以通过正则或者是子串匹配等的方式去启发式的发现请求中的Request、Session和Trace ID,避免新增一个客户端就多写一次硬编码来进行维护,也能够提升客户端的兼容性。

Expected Benefit / 期望收益

通过编写启发式规则来替代目前现有的针对特定客户端的硬编码识别,达到更好的维护性和客户端兼容性。优化用户在这些客户端上的多轮会话体验和降低维护压力。

Optimization Type / 优化类型

Compatibility / 兼容性

Affected Area / 影响区域

Transformer / 转换器

Additional Context / 其他补充信息

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions