56 lines
3.4 KiB
Markdown
56 lines
3.4 KiB
Markdown
---
|
||
name: session-20260618-1
|
||
description: 2026-06-18 第1次会话 — 网关SocketTimeout日志分析 + Widget接入指南补全(后端文档+前端页面)
|
||
metadata:
|
||
type: session
|
||
date: 2026-06-18
|
||
sessionNumber: 1
|
||
startTime: 2026-06-18T01:18:00+08:00
|
||
---
|
||
|
||
# 2026-06-18 第1次会话
|
||
|
||
## 会话摘要
|
||
1. 分析网关日志中频繁出现的 `SocketTimeoutException` / `Broken pipe` 错误,确认是下游 `devops.server.zgitm.com` 响应太慢导致客户端超时断开,不是网关 Bug
|
||
2. 将 Widget 接入详细指南补充到 deployServer 文档体系(新建 `06-gateway-widget.md`)
|
||
3. 将 Widget 接入详细内容更新到网关前端公网文档页面 `IntegrationDoc.vue`(`https://web.gw.zgitm.com/docs/:token`)
|
||
|
||
## 关键操作
|
||
|
||
### 一、网关 SocketTimeout/Broken pipe 日志分析
|
||
- **做了什么**: 分析了 `mokee-gateway-gateway` 服务日志中大量 `AsyncRequestNotUsableException` → `ClientAbortException` → `SocketTimeoutException` / `Broken pipe` 异常栈
|
||
- **根因**: 下游 `devops.server.zgitm.com` 的 `/api/apps/{8,9,10}/builds` 接口响应时间 >3秒,浏览器/前端超时主动断开连接,网关尝试写响应时发现 socket 已关闭
|
||
- **结论**:
|
||
- 🔴 主要问题:下游 devops 服务响应太慢
|
||
- ⚠️ 网关问题:GlobalExceptionHandler 把客户端断开当成 ERROR 记录,应降级为 WARN 或静默忽略
|
||
- 🟡 前端问题:超时设置过短(~3秒),并发请求多导致日志刷屏
|
||
|
||
### 二、deployServer 文档体系补充 Widget 接入指南
|
||
- **做了什么**: 将 `mokee-gateway-widget-integration.md` 内容格式化后新建为编号文档 `docs/06-gateway-widget.md`
|
||
- **原因**: 文档目录中原只有 01-05 号文档,Widget 接入指南是独立的未编号文件,需要纳入体系
|
||
- **涉及文件**:
|
||
- 新建:`deployServer/docs/06-gateway-widget.md`
|
||
- 更新:`deployServer/README.md`(文档导航新增链接)
|
||
- 更新:`deployServer/docs/05-implementation-plan.md`(文件清单树形图)
|
||
|
||
### 三、IntegrationDoc.vue 第 3.6 节 Widget 接入大幅扩展
|
||
- **做了什么**: 将原来 3 行简略 HTML 代码替换为完整接入指南
|
||
- **新增内容**:
|
||
- 🚫 常见错误说明:`process is not defined` 的原因(Vue 3.x 打包引用 process.env,浏览器无此全局变量)
|
||
- 步骤 1:index.html 引入 CSS(不引入 JS、不放占位 div)
|
||
- 步骤 2:TopBar.vue 中放置占位 div(必须在 Vue 模板中,不在 index.html)
|
||
- 步骤 3:main.js 中 mount 后动态加载脚本 + `window.process = { env: {} }` polyfill
|
||
- 原理说明:ASCII 流程图展示加载时序
|
||
- 排查清单:5 项常见问题对照表(Widget 不显示 / process 报错 / 登录不识别 / 样式错乱 / 跨域报错)
|
||
- CDN 资源地址
|
||
- **涉及文件**: `mokee-gateway-web/src/views/docs/IntegrationDoc.vue`
|
||
- 注释头更新:8 个章节 → 10 个章节
|
||
- 模板:第 3.6 节完全重写
|
||
- Script:新增 `widgetTroubleshooting` 数据
|
||
|
||
## 待处理
|
||
- [ ] `IntegrationDoc.vue` 修改需要重新构建部署 `mokee-gateway-web` 前端才能在 `https://web.gw.zgitm.com/docs/:token` 看到更新
|
||
- [ ] 网关 `GlobalExceptionHandler` 需要优化:`ClientAbortException` / `AsyncRequestNotUsableException` 降级为 WARN 或静默处理
|
||
- [ ] 排查 `devops.server.zgitm.com` 的 `/api/apps/{8,9,10}/builds` 接口性能,优化响应时间
|
||
- [ ] 前端可考虑增加超时时间或减少并发请求数
|