diff --git a/发版/2025/20250718-尾程派送及领星对接.md b/发版/2025/20250718-尾程派送及领星对接.md new file mode 100644 index 0000000..b779c01 --- /dev/null +++ b/发版/2025/20250718-尾程派送及领星对接.md @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + +# 20250718-尾程派送及领星对接发布 + +## 发布说明 + +### 涉及项目 + +| 项目 | 分支 | 发布顺序 | 数据库变更 | 配置变更 | 负责人 | 备注 | +|------------------|---------------------|------|-----------------------|-------------------------|-----|----------------------------| +| qifu-saas-eg | master | 1 | [数据库脚本DDL](#数据库脚本DDL) | [Nacos配置文件](#Nacos配置文件) | 刘晓华 | 注意配置文件中需要修改的部分需要修改为对应环境的数据 | + +### 附件 + +#### 数据库脚本DDL + +##### qifu-saas-eg数据库DDL + +```sql + +``` + +##### qifu-saas-eg数据库DML + +```sql + + +``` + +#### Nacos配置文件 + +```yaml +qifu: + eg: + yihao: + customer-code: JY000004 + app-id: 327573739 + app-key: vwjeoRPmo9DLsF1JIle2GB5groFFqQAW #还未知 + daokai: + customer-code: 10015 + app-key: 3da5819f-9eff-4339-901f-66a70af20a24 + + ling-xing: + app-key: d4106418cf1e48ea951e8e02efc17fd1 + app-secret: c20bcbd29bd048d3a512fadccf626522 + customer-code: 3685001 + + hye: + app-key: 17e598d30986425293806ce52be75318 + customer-code: HYE0074 + version: 1.0 + nonce: slnkda +``` + +### 其余配置 + +#### 开发者平台配置 + +---- + +## 开发说明 + +> 开发分支:feat/20250611-orderfix + +### 功能列表 + +- 义乌壹皓(usps) +- 道凯(ups、fedex) +- 派送翼(usps、ups) +- 环洋国际(usps、fedex) diff --git a/教程/电商/amazon/20250717-Amazon应用开发指南.md b/教程/电商/amazon/20250717-Amazon应用开发指南.md new file mode 100644 index 0000000..15d0f65 --- /dev/null +++ b/教程/电商/amazon/20250717-Amazon应用开发指南.md @@ -0,0 +1,59 @@ + + + + + + + + +# Amazon应用开发指南 + +## 成为开发者 + +### 开发者类型与适用场景 + +| **类型** | **适用对象** | **审核要求** | **数据访问范围** | +|-----------|--------------|-----------|------------------| +| **私有开发者** | 仅服务单个卖家账户 | 宽松 | 仅限自身账户数据 | +| **公共开发者** | 开发多卖家使用的公共应用 | 严格安全与合规审核 | 需受限角色(PII)获取敏感数据 | + +> ⚠️ **敏感数据限制**:买家地址、电话等PII数据需申请**受限角色**,且禁止存储在国内服务器。 + + +### 开发者注册 +- 注册链接:https://developer.amazonservices.com/register#register +- 点击:Create Solution Provider Account +- ![](https://picture.texous.cn/blog/20250716173546178.png) +- 点击创建您的亚马逊账户 +- ![](https://picture.texous.cn/blog/20250716173614502.png) +- ![](https://picture.texous.cn/blog/20250716173635493.png) +- 输入您的姓名,邮箱地址,和密码 +- 注册解决方案体工商账户 +- ![](https://picture.texous.cn/blog/20250716181547320.png) +- ![](https://picture.texous.cn/blog/20250716181727364.png) +- 设置解决方案类型 +- ![](https://picture.texous.cn/blog/20250716181849061.png) + +### 身份验证 +- 进入SPP +- ![](https://picture.texous.cn/blog/20250716173846797.png) +- 点击验证身份/开始使用 +- ![](https://picture.texous.cn/blog/20250716182210031.png) +- 点击下一页 +- ![](https://picture.texous.cn/blog/20250716182842274.png) +- 点击下一步 +- 填写对应的企业信息 +- ![](https://picture.texous.cn/blog/20250716174006695.png) +- 个人信息录入(需要身份证,以及人脸识别,所以需要电脑有摄像头) +- 完成后等待 72小时,会发送通知到对应的邮箱 + +### 开发人员资料填写 +- ![](https://picture.texous.cn/blog/20250717190911526.png) +- ![](https://picture.texous.cn/blog/20250717190743504.png) + +### 设置解决方案提供商账户资料和权限 + + +## 注意事项 +> 💡 **提示**:首次申请建议**跳过PII角色**,通过后再修改资料追加,可缩短审核时间。 +> 更多细则参考:[SP-API官方文档](https://developer-docs.amazon.com/sp-api)。 \ No newline at end of file diff --git a/教程/电商/amazon/Amazon开店指南.md b/教程/电商/amazon/Amazon开店指南.md new file mode 100644 index 0000000..d85ff3f --- /dev/null +++ b/教程/电商/amazon/Amazon开店指南.md @@ -0,0 +1,45 @@ +# Amazon应用开发指南 + +## 成为开发者 + +### 开发者类型与适用场景 + +| **类型** | **适用对象** | **审核要求** | **数据访问范围** | +|-----------|--------------|-----------|------------------| +| **私有开发者** | 仅服务单个卖家账户 | 宽松 | 仅限自身账户数据 | +| **公共开发者** | 开发多卖家使用的公共应用 | 严格安全与合规审核 | 需受限角色(PII)获取敏感数据 | + +> ⚠️ **敏感数据限制**:买家地址、电话等PII数据需申请**受限角色**,且禁止存储在国内服务器。 + + +### 开发者注册 +- 注册链接:https://developer.amazonservices.com/register#register +- 点击:Create Solution Provider Account +- ![](https://picture.texous.cn/blog/20250716173546178.png) +- 点击创建您的亚马逊账户 +- ![](https://picture.texous.cn/blog/20250716173614502.png) +- ![](https://picture.texous.cn/blog/20250716173635493.png) +- 输入您的姓名,邮箱地址,和密码 +- 注册解决方案体工商账户 +- ![](https://picture.texous.cn/blog/20250716181547320.png) +- ![](https://picture.texous.cn/blog/20250716181727364.png) +- 设置解决方案类型 +- ![](https://picture.texous.cn/blog/20250716181849061.png) + +### 身份验证 +- 进入SPP +- ![](https://picture.texous.cn/blog/20250716173846797.png) +- 点击验证身份/开始使用 +- ![](https://picture.texous.cn/blog/20250716182210031.png) +- 点击下一页 +- ![](https://picture.texous.cn/blog/20250716182842274.png) +- 点击下一步 +- 填写对应的企业信息 +- ![](https://picture.texous.cn/blog/20250716174006695.png) + +### 设置解决方案提供商账户资料和权限 + + +## 注意事项 +> 💡 **提示**:首次申请建议**跳过PII角色**,通过后再修改资料追加,可缩短审核时间。 +> 更多细则参考:[SP-API官方文档](https://developer-docs.amazon.com/sp-api)。 \ No newline at end of file diff --git a/文档/新人培养/00-新员工入职指引.md b/文档/新人培养/00-新员工入职指引.md index b3dc4f5..5142506 100644 --- a/文档/新人培养/00-新员工入职指引.md +++ b/文档/新人培养/00-新员工入职指引.md @@ -8,4 +8,5 @@ #### WIFI 账号密码 > wifi: `yuanmeng`, 密码: `YmQf1223` > wifi: `RC-soft5`, 密码: `YmQf1223`(打卡需要连该WiFi) -> wifi: `RC-SOFT5`, 密码: `YmQf1223`(打卡需要连该WiFi) \ No newline at end of file +> wifi: `RC-SOFT5`, 密码: `YmQf1223`(打卡需要连该WiFi) + diff --git a/杂项/00-三方对接信息.md b/杂项/00-三方对接信息.md index 67c30f0..6156ed8 100644 --- a/杂项/00-三方对接信息.md +++ b/杂项/00-三方对接信息.md @@ -36,4 +36,8 @@ https://member.track123.com/order https://admin.17track.net/api/settings 账号:zhangxinxin@keyfil.com 密码:00uBYf31 -密钥:AB905010AF804EE4CA84009BBBB4A4EC \ No newline at end of file +密钥:AB905010AF804EE4CA84009BBBB4A4EC + + +### 公司信息 +- ![](https://picture.texous.cn/blog/20250717153234705.png) \ No newline at end of file diff --git a/绘图/20250717-授权组件设计.excalidraw b/绘图/20250717-授权组件设计.excalidraw new file mode 100644 index 0000000..2117556 --- /dev/null +++ b/绘图/20250717-授权组件设计.excalidraw @@ -0,0 +1,488 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw-jetbrains-plugin", + "elements": [ + { + "id": "15tAokYMg_sVZSWxBYEk0", + "type": "rectangle", + "x": 514, + "y": 272, + "width": 199.99999999999997, + "height": 119.99999999999999, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 744495866, + "version": 85, + "versionNonce": 936349690, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "5t6KGJPiblXU2dL-seqN5" + }, + { + "id": "podkqgoM7w-0UAV2xwFCB", + "type": "arrow" + }, + { + "id": "ugBb8kdwPFv_iMZNyxxJi", + "type": "arrow" + } + ], + "updated": 1752720499194, + "link": null, + "locked": false + }, + { + "id": "5t6KGJPiblXU2dL-seqN5", + "type": "text", + "x": 574, + "y": 319.5, + "width": 80, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1043175930, + "version": 95, + "versionNonce": 1419236774, + "isDeleted": false, + "boundElements": null, + "updated": 1752720474403, + "link": null, + "locked": false, + "text": "业务授权", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "15tAokYMg_sVZSWxBYEk0", + "originalText": "业务授权", + "lineHeight": 1.25 + }, + { + "id": "lt4H43spCJYzXBq-mPMVE", + "type": "ellipse", + "x": 891, + "y": 231, + "width": 240.9999999999999, + "height": 202, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 134617830, + "version": 77, + "versionNonce": 1227843194, + "isDeleted": false, + "boundElements": [ + { + "id": "podkqgoM7w-0UAV2xwFCB", + "type": "arrow" + }, + { + "id": "ugBb8kdwPFv_iMZNyxxJi", + "type": "arrow" + } + ], + "updated": 1752720499194, + "link": null, + "locked": false + }, + { + "id": "58d7tEYW5U-cakd_L36tr", + "type": "text", + "x": 957, + "y": 261, + "width": 120, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 433459194, + "version": 118, + "versionNonce": 516033978, + "isDeleted": false, + "boundElements": null, + "updated": 1752720430136, + "link": null, + "locked": false, + "text": "三方授权中心", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "三方授权中心", + "lineHeight": 1.25 + }, + { + "id": "YPQScdt1QM1B2TKg-cd01", + "type": "ellipse", + "x": 913, + "y": 309, + "width": 85, + "height": 85, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 859633190, + "version": 53, + "versionNonce": 1211681638, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "hf_F6m-HhQMHw_BWuXaGh" + } + ], + "updated": 1752720449636, + "link": null, + "locked": false + }, + { + "id": "hf_F6m-HhQMHw_BWuXaGh", + "type": "text", + "x": 935.4479617995718, + "y": 338.9479617995717, + "width": 40, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 463143078, + "version": 17, + "versionNonce": 1393979046, + "isDeleted": false, + "boundElements": null, + "updated": 1752720449636, + "link": null, + "locked": false, + "text": "界面", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "YPQScdt1QM1B2TKg-cd01", + "originalText": "界面", + "lineHeight": 1.25 + }, + { + "id": "_uAySmrdr66S2aFPgQ_yq", + "type": "ellipse", + "x": 1022, + "y": 309, + "width": 85, + "height": 85, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 968787686, + "version": 84, + "versionNonce": 1471342266, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "CQlxLdKsgHWeAHZ8oVkq1" + } + ], + "updated": 1752720461038, + "link": null, + "locked": false + }, + { + "id": "CQlxLdKsgHWeAHZ8oVkq1", + "type": "text", + "x": 1044.4479617995717, + "y": 338.9479617995717, + "width": 40, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 746472058, + "version": 52, + "versionNonce": 934612154, + "isDeleted": false, + "boundElements": null, + "updated": 1752720464269, + "link": null, + "locked": false, + "text": "服务", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "_uAySmrdr66S2aFPgQ_yq", + "originalText": "服务", + "lineHeight": 1.25 + }, + { + "id": "podkqgoM7w-0UAV2xwFCB", + "type": "arrow", + "x": 726, + "y": 287, + "width": 177, + "height": 31, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 923416698, + "version": 61, + "versionNonce": 1406627770, + "isDeleted": false, + "boundElements": null, + "updated": 1752720487901, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 90, + -31 + ], + [ + 177, + -1 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "15tAokYMg_sVZSWxBYEk0", + "focus": -0.06799999999999999, + "gap": 12 + }, + "endBinding": { + "elementId": "lt4H43spCJYzXBq-mPMVE", + "focus": 0.07861869002320906, + "gap": 1.046204497810578 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "ugBb8kdwPFv_iMZNyxxJi", + "type": "arrow", + "x": 906, + "y": 395, + "width": 192, + "height": 30, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1178530854, + "version": 93, + "versionNonce": 1547253690, + "isDeleted": false, + "boundElements": null, + "updated": 1752720506867, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -82, + 30 + ], + [ + -192, + 1 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "lt4H43spCJYzXBq-mPMVE", + "focus": -0.22143336931568755, + "gap": 8.463260597449704 + }, + "endBinding": { + "elementId": "15tAokYMg_sVZSWxBYEk0", + "focus": 0.43578947368421056, + "gap": 4 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "mOY-0a7X4f_bInVmtooTD", + "type": "text", + "x": 727, + "y": 225.5, + "width": 160, + "height": 20, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 419828026, + "version": 112, + "versionNonce": 571840105, + "isDeleted": false, + "boundElements": null, + "updated": 1752720595801, + "link": null, + "locked": false, + "text": "发起授权(携带参数)", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 14, + "containerId": null, + "originalText": "发起授权(携带参数)", + "lineHeight": 1.25 + }, + { + "id": "hFURTdjw-KuuXR_1fVIdc", + "type": "text", + "x": 732, + "y": 440.5, + "width": 160, + "height": 20, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 174127799, + "version": 173, + "versionNonce": 269737673, + "isDeleted": false, + "boundElements": null, + "updated": 1752720608768, + "link": null, + "locked": false, + "text": "结果返回(携带参数)", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 14, + "containerId": null, + "originalText": "结果返回(携带参数)", + "lineHeight": 1.25 + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/绘图/20250717-授权组件设计.svg b/绘图/20250717-授权组件设计.svg new file mode 100644 index 0000000..6981cf0 --- /dev/null +++ b/绘图/20250717-授权组件设计.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/绘图/20250717-授权组件设计流程.drawio b/绘图/20250717-授权组件设计流程.drawio new file mode 100644 index 0000000..7f8d9d5 --- /dev/null +++ b/绘图/20250717-授权组件设计流程.drawio @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/草稿/00-本地快捷指令.md b/草稿/00-本地快捷指令.md index 0279d04..a8faa0c 100644 --- a/草稿/00-本地快捷指令.md +++ b/草稿/00-本地快捷指令.md @@ -23,4 +23,14 @@ C:/Programs/Developer/ktctl_0.3.7/ktctl.exe clean --namespace qifu-develop --kub ``` - --dryRun 只打印要删除的Kubernetes资源名称,不删除资源 - --thresholdInMinus value 清理至少已失联超过多长时间的Kubernetes资源 (单位:分钟,默认值:15) -- --localOnly 仅清理本地日志和还原本地路由/DNS配置 \ No newline at end of file +- --localOnly 仅清理本地日志和还原本地路由/DNS配置 + +---- + +### 低代码平台 + +#### 前端启动 +```shell +#- 在 jeecgboot-vue3 目录下执行 +fnm exec --using=20.14.0 C:\Programs\Developer\nodejs20\pnpm.cmd run dev +``` \ No newline at end of file diff --git a/草稿/业务服务监控大盘规划.md b/草稿/业务服务监控大盘规划.md new file mode 100644 index 0000000..cdb9ec5 --- /dev/null +++ b/草稿/业务服务监控大盘规划.md @@ -0,0 +1,303 @@ +# 业务服务监控大盘规划方案 + +基于 SkyWalking 和 KubeSphere 的监控能力,我建议规划以下四个核心监控大盘,形成完整的业务服务监控体系: + +```mermaid +graph TD + A[业务服务监控体系] --> B[全局业务健康大盘] + A --> C[微服务性能大盘] + A --> D[交易链路追踪大盘] + A --> E[基础设施资源大盘] +``` + +## 1. 全局业务健康大盘(Global Business Health Dashboard) + +### 定位与目标 +- **面向角色**:业务决策者、产品经理、技术负责人 +- **核心价值**:实时掌握业务整体健康状态,快速识别业务异常 +- **刷新频率**:实时(5秒级) + +### 核心内容 +```mermaid +graph LR + A[业务健康度] --> B[核心指标] + A --> C[地域分布] + A --> D[异常告警] + + B --> B1[总交易量] + B --> B2[交易成功率] + B --> B3[平均响应时间] + B --> B4[活跃用户数] + + C --> C1[区域交易热力图] + C --> C2[城市响应延迟TOP10] + + D --> D1[当前P0告警] + D --> D2[告警趋势] +``` + +**具体指标**: +1. 业务健康度评分(综合计算) +2. 实时交易量/分钟(按业务线分类) +3. 交易成功率(成功/失败比例) +4. 关键服务SLA达标率(99.9%基准线) +5. 用户地域分布热力图 +6. 异常交易实时流(最近10笔失败交易) +7. 核心服务黄金指标(RED): + - 请求率(Requests) + - 错误率(Errors) + - 延迟(Duration) + +**数据来源**: +- SkyWalking:业务指标、SLA数据 +- 业务数据库:交易量、成功率 +- KubeSphere:服务可用性状态 + +## 2. 微服务性能大盘(Microservices Performance Dashboard) + +### 定位与目标 +- **面向角色**:SRE、开发团队、架构师 +- **核心价值**:深度洞察微服务性能瓶颈,优化服务架构 +- **刷新频率**:准实时(15秒级) + +### 核心内容 +```mermaid +graph TB + A[服务拓扑] --> B[服务依赖关系] + A --> C[关键路径标注] + + D[性能指标] --> E[JVM监控] + D --> F[数据库性能] + D --> G[缓存效率] + + H[资源效率] --> I[CPU/MEM使用] + H --> J[网络IO] + H --> K[线程池状态] +``` + +**具体指标**: +1. 微服务拓扑图(动态展示服务间调用关系) +2. 服务性能TOP10排名(按响应时间、错误率) +3. JVM深度监控: + - GC次数/耗时 + - 堆内存使用 + - 线程状态分布 +4. 数据库访问性能: + - 慢SQL统计 + - 连接池使用率 + - 事务耗时分布 +5. 缓存效率分析: + - 缓存命中率 + - Redis命令延迟 + - 缓存穿透/击穿告警 +6. 消息队列监控: + - 积压消息量 + - 消费延迟 + - 死信队列 + +**数据来源**: +- SkyWalking:服务拓扑、JVM指标、SQL分析 +- KubeSphere Prometheus:容器资源指标 +- Redis/MQ导出器:缓存和消息队列指标 + +## 3. 交易链路追踪大盘(Transaction Tracing Dashboard) + +### 定位与目标 +- **面向角色**:开发人员、测试工程师、技术支持 +- **核心价值**:端到端追踪业务请求,快速定位故障点 +- **刷新频率**:按需查询 + +### 核心内容 +```mermaid +graph LR + A[链路查询] --> B[条件筛选] + A --> C[TraceID搜索] + + D[链路分析] --> E[耗时分解] + D --> F[异常标记] + D --> G[日志关联] + + H[统计洞察] --> I[慢请求分析] + H --> J[错误类型分布] +``` + +**具体功能**: +1. 交易链路查询: + - 按TraceID搜索 + - 按服务/接口/状态码筛选 +2. 全链路可视化: + - 请求完整路径展示 + - 各阶段耗时分解 + - 异常节点高亮标记 +3. 深度分析: + - 耗时分布直方图 + - 错误类型统计 + - 关联日志查看 +4. 对比分析: + - 成功 vs 失败请求路径对比 + - 不同版本性能对比 +5. 智能洞察: + - 自动识别瓶颈服务 + - 异常模式推荐 + +**数据来源**: +- SkyWalking:全链路追踪数据 +- ELK/Loki:关联日志 +- KubeSphere:服务版本信息 + +## 4. 基础设施资源大盘(Infrastructure Resource Dashboard) + +### 定位与目标 +- **面向角色**:运维团队、基础设施工程师 +- **核心价值**:全面掌握底层资源状态,保障服务运行基础 +- **刷新频率**:实时(10秒级) + +### 核心内容 +```mermaid +graph TB + A[集群概览] --> B[节点状态] + A --> C[资源水位] + + D[节点详情] --> E[CPU/MEM/DISK] + D --> F[网络流量] + D --> G[进程资源] + + H[存储分析] --> I[PV/PVC使用] + H --> J[IO性能] + + K[中间件健康] --> L[数据库] + K --> M[缓存] + K --> N[消息队列] +``` + +**具体指标**: +1. 集群全局视图: + - 节点健康状态(就绪/异常) + - 整体资源使用率(CPU/内存/存储) +2. 节点级监控: + - 物理资源使用(CPU、内存、磁盘、网络) + - 关键进程资源占用 + - 温度/风扇状态(如有) +3. 存储分析: + - PV/PVC容量监控 + - 读写IOPS和吞吐量 + - 存储类分布 +4. 网络性能: + - 入口/出口流量 + - 网络错误率 + - 连接数统计 +5. 中间件健康: + - 数据库连接池 + - Redis内存/延迟 + - Kafka分区/ISR状态 +6. 自动伸缩: + - HPA/VPA操作记录 + - 资源预测分析 + +**数据来源**: +- KubeSphere:集群、节点、存储指标 +- Node Exporter:物理节点指标 +- 中间件导出器:数据库、缓存、MQ指标 + +## 大盘关联与联动设计 + +```mermaid +sequenceDiagram + participant User + participant Global_Dashboard + participant Microservices_Dashboard + participant Tracing_Dashboard + participant Infra_Dashboard + + User->>Global_Dashboard: 发现异常业务指标 + Global_Dashboard->>Microservices_Dashboard: 钻取到具体服务 + Microservices_Dashboard->>Tracing_Dashboard: 分析问题链路 + Tracing_Dashboard->>Infra_Dashboard: 检查底层资源 + Infra_Dashboard-->>User: 定位根本原因 +``` + +## 实施计划(8周) + +| 周次 | 工作内容 | 交付物 | +|------|----------|--------| +| 1-2 | 数据源对接与验证
• SkyWalking API集成
• KubeSphere监控接口调试 | 数据源对接文档
指标映射表 | +| 3-4 | 全局业务健康大盘开发
• 核心业务指标可视化
• 健康度评分模型 | 业务健康大盘V1
评分模型文档 | +| 5-6 | 微服务性能大盘开发
• 服务拓扑集成
• JVM/DB深度监控 | 微服务性能大盘
性能基线报告 | +| 7 | 交易链路追踪大盘开发
• 全链路可视化
• 智能分析功能 | 链路追踪大盘
分析用例文档 | +| 8 | 基础设施资源大盘开发
• 资源水位监控
• 中间件健康检查 | 资源大盘
压测报告 | + +## 技术实现要点 + +1. **统一数据网关**: + ```python + # 数据聚合网关示例 + from flask import Flask, jsonify + import requests + + app = Flask(__name__) + + @app.route('/api/metrics/business') + def business_metrics(): + # 从SkyWalking获取业务指标 + sw_data = requests.get("http://skywalking-oap:12800/metrics") + # 从KubeSphere获取服务状态 + ks_data = requests.get("http://kubesphere-api/api/monitoring") + return jsonify({**sw_data.json(), **ks_data.json()}) + ``` + +2. **Grafana高级特性**: + ```json + { + "dashboard": { + "title": "业务健康大盘", + "panels": [ + { + "type": "graph", + "title": "交易成功率", + "datasource": "Unified-Gateway", + "transformations": [ + { + "id": "reduce", + "options": { + "reducers": ["last"] + } + } + ] + } + ] + } + } + ``` + +3. **智能告警联动**: + ```yaml + # 告警联动规则 + groups: + - name: business-alert + rules: + - alert: PaymentFailure + expr: payment_success_rate < 95 + annotations: + dashboard: "/d/global-business" # 跳转全局大盘 + trace_query: "service:payment-service status:error" # 跳转链路追踪 + ``` + +## 预期成效 + +1. **故障定位时间缩短**: + - 从小时级 → 分钟级 + - 平均MTTR降低60% + +2. **资源利用率提升**: + - 识别低效服务,优化资源分配 + - 预计资源成本降低20-30% + +3. **业务决策支持**: + - 实时业务指标可视化 + - 产品迭代数据支持 + +4. **跨团队协作增强**: + - 统一监控语言 + - 问题协同处理效率提升50% + +通过这四个监控大盘的建设,将形成从业务指标到基础设施的完整监控链条,实现对业务服务的全方位可视化管理。 \ No newline at end of file