Files
mokeegateway/memory/session-20260618-1.md
2026-07-15 16:13:27 +08:00

56 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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浏览器无此全局变量
- 步骤 1index.html 引入 CSS不引入 JS、不放占位 div
- 步骤 2TopBar.vue 中放置占位 div必须在 Vue 模板中,不在 index.html
- 步骤 3main.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` 接口性能,优化响应时间
- [ ] 前端可考虑增加超时时间或减少并发请求数