✨ [2025-07-18] 添加Amazon应用开发指南
Some checks failed
Publish to Confluence / confluence (push) Failing after 30s
Some checks failed
Publish to Confluence / confluence (push) Failing after 30s
This commit is contained in:
parent
b30017d1e3
commit
26d9f8f85b
91
发版/2025/20250718-尾程派送及领星对接.md
Normal file
91
发版/2025/20250718-尾程派送及领星对接.md
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
<!-- Space: qifu -->
|
||||||
|
<!-- Parent: 后端技术&知识&规范 -->
|
||||||
|
<!-- Parent: 技术方案 -->
|
||||||
|
<!-- Parent: 基建 -->
|
||||||
|
<!-- Parent: 01-发布文档 -->
|
||||||
|
<!-- Title: 20250718-尾程派送及领星对接发布 -->
|
||||||
|
|
||||||
|
<!-- Macro: :anchor\((.*)\):
|
||||||
|
Template: ac:anchor
|
||||||
|
Anchor: ${1} -->
|
||||||
|
<!-- Macro: \!\[.*\]\((.+)\)\<\!\-\- width=(.*) \-\-\>
|
||||||
|
Template: ac:image
|
||||||
|
Url: ${1}
|
||||||
|
Width: ${2} -->
|
||||||
|
<!-- Macro: \<\!\-\- :toc: \-\-\>
|
||||||
|
Template: ac:toc
|
||||||
|
Printable: 'false'
|
||||||
|
MinLevel: 2
|
||||||
|
MaxLevel: 4 -->
|
||||||
|
<!-- Include: 杂项/声明文件.md -->
|
||||||
|
|
||||||
|
<!-- :toc: -->
|
||||||
|
|
||||||
|
# 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)
|
59
教程/电商/amazon/20250717-Amazon应用开发指南.md
Normal file
59
教程/电商/amazon/20250717-Amazon应用开发指南.md
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
<!-- Space: qifu -->
|
||||||
|
<!-- Parent: 后端技术&知识&规范 -->
|
||||||
|
<!-- Parent: 技术方案 -->
|
||||||
|
<!-- Parent: 基建 -->
|
||||||
|
<!-- Parent: 03-接入指南 -->
|
||||||
|
<!-- Parent: 0301-电商接入指南 -->
|
||||||
|
<!-- Title: 20250717-Amazon应用开发指南 -->
|
||||||
|
|
||||||
|
# Amazon应用开发指南
|
||||||
|
|
||||||
|
## 成为开发者
|
||||||
|
|
||||||
|
### 开发者类型与适用场景
|
||||||
|
|
||||||
|
| **类型** | **适用对象** | **审核要求** | **数据访问范围** |
|
||||||
|
|-----------|--------------|-----------|------------------|
|
||||||
|
| **私有开发者** | 仅服务单个卖家账户 | 宽松 | 仅限自身账户数据 |
|
||||||
|
| **公共开发者** | 开发多卖家使用的公共应用 | 严格安全与合规审核 | 需受限角色(PII)获取敏感数据 |
|
||||||
|
|
||||||
|
> ⚠️ **敏感数据限制**:买家地址、电话等PII数据需申请**受限角色**,且禁止存储在国内服务器。
|
||||||
|
|
||||||
|
|
||||||
|
### 开发者注册
|
||||||
|
- 注册链接:https://developer.amazonservices.com/register#register
|
||||||
|
- 点击:Create Solution Provider Account
|
||||||
|
- 
|
||||||
|
- 点击创建您的亚马逊账户
|
||||||
|
- 
|
||||||
|
- 
|
||||||
|
- 输入您的姓名,邮箱地址,和密码
|
||||||
|
- 注册解决方案体工商账户
|
||||||
|
- 
|
||||||
|
- 
|
||||||
|
- 设置解决方案类型
|
||||||
|
- 
|
||||||
|
|
||||||
|
### 身份验证
|
||||||
|
- 进入SPP
|
||||||
|
- 
|
||||||
|
- 点击验证身份/开始使用
|
||||||
|
- 
|
||||||
|
- 点击下一页
|
||||||
|
- 
|
||||||
|
- 点击下一步
|
||||||
|
- 填写对应的企业信息
|
||||||
|
- 
|
||||||
|
- 个人信息录入(需要身份证,以及人脸识别,所以需要电脑有摄像头)
|
||||||
|
- 完成后等待 72小时,会发送通知到对应的邮箱
|
||||||
|
|
||||||
|
### 开发人员资料填写
|
||||||
|
- 
|
||||||
|
- 
|
||||||
|
|
||||||
|
### 设置解决方案提供商账户资料和权限
|
||||||
|
|
||||||
|
|
||||||
|
## 注意事项
|
||||||
|
> 💡 **提示**:首次申请建议**跳过PII角色**,通过后再修改资料追加,可缩短审核时间。
|
||||||
|
> 更多细则参考:[SP-API官方文档](https://developer-docs.amazon.com/sp-api)。
|
45
教程/电商/amazon/Amazon开店指南.md
Normal file
45
教程/电商/amazon/Amazon开店指南.md
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
# Amazon应用开发指南
|
||||||
|
|
||||||
|
## 成为开发者
|
||||||
|
|
||||||
|
### 开发者类型与适用场景
|
||||||
|
|
||||||
|
| **类型** | **适用对象** | **审核要求** | **数据访问范围** |
|
||||||
|
|-----------|--------------|-----------|------------------|
|
||||||
|
| **私有开发者** | 仅服务单个卖家账户 | 宽松 | 仅限自身账户数据 |
|
||||||
|
| **公共开发者** | 开发多卖家使用的公共应用 | 严格安全与合规审核 | 需受限角色(PII)获取敏感数据 |
|
||||||
|
|
||||||
|
> ⚠️ **敏感数据限制**:买家地址、电话等PII数据需申请**受限角色**,且禁止存储在国内服务器。
|
||||||
|
|
||||||
|
|
||||||
|
### 开发者注册
|
||||||
|
- 注册链接:https://developer.amazonservices.com/register#register
|
||||||
|
- 点击:Create Solution Provider Account
|
||||||
|
- 
|
||||||
|
- 点击创建您的亚马逊账户
|
||||||
|
- 
|
||||||
|
- 
|
||||||
|
- 输入您的姓名,邮箱地址,和密码
|
||||||
|
- 注册解决方案体工商账户
|
||||||
|
- 
|
||||||
|
- 
|
||||||
|
- 设置解决方案类型
|
||||||
|
- 
|
||||||
|
|
||||||
|
### 身份验证
|
||||||
|
- 进入SPP
|
||||||
|
- 
|
||||||
|
- 点击验证身份/开始使用
|
||||||
|
- 
|
||||||
|
- 点击下一页
|
||||||
|
- 
|
||||||
|
- 点击下一步
|
||||||
|
- 填写对应的企业信息
|
||||||
|
- 
|
||||||
|
|
||||||
|
### 设置解决方案提供商账户资料和权限
|
||||||
|
|
||||||
|
|
||||||
|
## 注意事项
|
||||||
|
> 💡 **提示**:首次申请建议**跳过PII角色**,通过后再修改资料追加,可缩短审核时间。
|
||||||
|
> 更多细则参考:[SP-API官方文档](https://developer-docs.amazon.com/sp-api)。
|
@ -8,4 +8,5 @@
|
|||||||
#### WIFI 账号密码
|
#### WIFI 账号密码
|
||||||
> wifi: `yuanmeng`, 密码: `YmQf1223`
|
> wifi: `yuanmeng`, 密码: `YmQf1223`
|
||||||
> wifi: `RC-soft5`, 密码: `YmQf1223`(打卡需要连该WiFi)
|
> wifi: `RC-soft5`, 密码: `YmQf1223`(打卡需要连该WiFi)
|
||||||
> wifi: `RC-SOFT5`, 密码: `YmQf1223`(打卡需要连该WiFi)
|
> wifi: `RC-SOFT5`, 密码: `YmQf1223`(打卡需要连该WiFi)
|
||||||
|
|
||||||
|
@ -36,4 +36,8 @@ https://member.track123.com/order
|
|||||||
https://admin.17track.net/api/settings
|
https://admin.17track.net/api/settings
|
||||||
账号:zhangxinxin@keyfil.com
|
账号:zhangxinxin@keyfil.com
|
||||||
密码:00uBYf31
|
密码:00uBYf31
|
||||||
密钥:AB905010AF804EE4CA84009BBBB4A4EC
|
密钥:AB905010AF804EE4CA84009BBBB4A4EC
|
||||||
|
|
||||||
|
|
||||||
|
### 公司信息
|
||||||
|
- 
|
488
绘图/20250717-授权组件设计.excalidraw
Normal file
488
绘图/20250717-授权组件设计.excalidraw
Normal file
@ -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": {}
|
||||||
|
}
|
8
绘图/20250717-授权组件设计.svg
Normal file
8
绘图/20250717-授权组件设计.svg
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1px"
|
||||||
|
height="1px" viewBox="-0.5 -0.5 1 1"
|
||||||
|
content="<mxfile host="app.diagrams.net" modified="2021-04-15T16:58:14.004Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36" etag="9hHl-fft3fX4wfAVMn7f" version="14.6.0" type="device"><diagram id="23iRSUPoRavnBvh4doch" name="Page-1">dZHBEoIgEIafhjtCZZ3N6tLJQ2dGNmEGXQdptJ4+HTBjrJk97H77Lz8shGf1cLaiVVeUYAijciD8SBhLNoyRKah8epLSrQeV1TKIFlDoFwRIA31oCV0kdIjG6TaGJTYNlC5iwlrsY9kdTezaigpWoCiFWdOblk55umfpwi+gKzU7J7uD79RiFoeXdEpI7L8QzwnPLKLzWT1kYKblzXvxc6c/3c/FLDTux8CYLGePRfRDPH8D</diagram></mxfile>">
|
||||||
|
<defs/>
|
||||||
|
<g/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 988 B |
97
绘图/20250717-授权组件设计流程.drawio
Normal file
97
绘图/20250717-授权组件设计流程.drawio
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/25.0.2 Chrome/128.0.6613.186 Electron/32.2.5 Safari/537.36" version="25.0.2">
|
||||||
|
<diagram name="Page-1" id="2YBvvXClWsGukQMizWep">
|
||||||
|
<mxGraphModel dx="868" dy="576" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0" />
|
||||||
|
<mxCell id="1" parent="0" />
|
||||||
|
<mxCell id="aM9ryv3xv72pqoxQDRHE-1" value="业务线" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","elbow":"vertical","curved":0,"rounded":0};" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="60" y="40" width="100" height="440" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="aM9ryv3xv72pqoxQDRHE-2" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","elbow":"vertical","curved":0,"rounded":0};" parent="aM9ryv3xv72pqoxQDRHE-1" vertex="1">
|
||||||
|
<mxGeometry x="45" y="70" width="10" height="310" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="aM9ryv3xv72pqoxQDRHE-3" value="请求授权" style="html=1;verticalAlign=bottom;startArrow=oval;endArrow=block;startSize=8;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;" parent="aM9ryv3xv72pqoxQDRHE-1" target="aM9ryv3xv72pqoxQDRHE-2" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="-15" y="70" as="sourcePoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="aM9ryv3xv72pqoxQDRHE-5" value="认证中心前端" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","elbow":"vertical","curved":0,"rounded":0};" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="280" y="40" width="100" height="440" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="aM9ryv3xv72pqoxQDRHE-6" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","elbow":"vertical","curved":0,"rounded":0};" parent="aM9ryv3xv72pqoxQDRHE-5" vertex="1">
|
||||||
|
<mxGeometry x="45" y="80" width="10" height="280" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="mIc7CyHy_PGnAQ7WKizZ-5" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={"curved":0,"rounded":0};" vertex="1" parent="aM9ryv3xv72pqoxQDRHE-5">
|
||||||
|
<mxGeometry x="50" y="170" width="10" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="mIc7CyHy_PGnAQ7WKizZ-6" value="<font style="font-size: 9px;">跳转授权</font>" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;" edge="1" target="mIc7CyHy_PGnAQ7WKizZ-5" parent="aM9ryv3xv72pqoxQDRHE-5">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="55" y="150" as="sourcePoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="85" y="180" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="aM9ryv3xv72pqoxQDRHE-7" value="<font style="font-size: 9px;">重定向(</font><span style="font-size: 9px;">携带授权参数)</span>" style="html=1;verticalAlign=bottom;endArrow=block;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;" parent="1" source="aM9ryv3xv72pqoxQDRHE-2" target="aM9ryv3xv72pqoxQDRHE-6" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="195" y="130" as="sourcePoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="180" y="120" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="aM9ryv3xv72pqoxQDRHE-8" value="<font style="font-size: 9px;">重定向(携带授权参数和结果)</font>" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;" parent="1" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="115" y="396" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="190" y="396" />
|
||||||
|
</Array>
|
||||||
|
<mxPoint x="325" y="396" as="sourcePoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="mIc7CyHy_PGnAQ7WKizZ-1" value="认证中心后端" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","elbow":"vertical","curved":0,"rounded":0};" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="500" y="40" width="100" height="440" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="mIc7CyHy_PGnAQ7WKizZ-2" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","elbow":"vertical","curved":0,"rounded":0};" vertex="1" parent="mIc7CyHy_PGnAQ7WKizZ-1">
|
||||||
|
<mxGeometry x="45" y="100" width="10" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="mIc7CyHy_PGnAQ7WKizZ-7" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={"curved":0,"rounded":0};" vertex="1" parent="mIc7CyHy_PGnAQ7WKizZ-1">
|
||||||
|
<mxGeometry x="45" y="223" width="10" height="107" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="mIc7CyHy_PGnAQ7WKizZ-10" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={"curved":0,"rounded":0};" vertex="1" parent="mIc7CyHy_PGnAQ7WKizZ-1">
|
||||||
|
<mxGeometry x="50" y="266.5" width="10" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="mIc7CyHy_PGnAQ7WKizZ-11" value="<font style="font-size: 9px;">授权获取Token</font>" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;" edge="1" target="mIc7CyHy_PGnAQ7WKizZ-10" parent="mIc7CyHy_PGnAQ7WKizZ-1">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="55" y="246.5" as="sourcePoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="85" y="276.5" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="mIc7CyHy_PGnAQ7WKizZ-3" value="<font style="font-size: 9px;">获取授权链接(携带参数)</font>" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;" edge="1" parent="1">
|
||||||
|
<mxGeometry width="80" relative="1" as="geometry">
|
||||||
|
<mxPoint x="335" y="143" as="sourcePoint" />
|
||||||
|
<mxPoint x="545" y="143" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="mIc7CyHy_PGnAQ7WKizZ-4" value="<font style="font-size: 9px;">授权链接</font>" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;" edge="1" parent="1">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="545" y="173" as="sourcePoint" />
|
||||||
|
<mxPoint x="335" y="173" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="mIc7CyHy_PGnAQ7WKizZ-8" value="<font style="font-size: 9px;">授权回调(携带code,state)</font>" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=5;" edge="1" target="mIc7CyHy_PGnAQ7WKizZ-7" parent="1" source="aM9ryv3xv72pqoxQDRHE-6">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="475" y="268" as="sourcePoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="mIc7CyHy_PGnAQ7WKizZ-9" value="<font style="font-size: 9px;">返回授权结果和授权参数</font>" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;exitX=0;exitY=1;exitDx=0;exitDy=-5;" edge="1" source="mIc7CyHy_PGnAQ7WKizZ-7" parent="1" target="aM9ryv3xv72pqoxQDRHE-6">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="475" y="338" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
@ -23,4 +23,14 @@ C:/Programs/Developer/ktctl_0.3.7/ktctl.exe clean --namespace qifu-develop --kub
|
|||||||
```
|
```
|
||||||
- --dryRun 只打印要删除的Kubernetes资源名称,不删除资源
|
- --dryRun 只打印要删除的Kubernetes资源名称,不删除资源
|
||||||
- --thresholdInMinus value 清理至少已失联超过多长时间的Kubernetes资源 (单位:分钟,默认值:15)
|
- --thresholdInMinus value 清理至少已失联超过多长时间的Kubernetes资源 (单位:分钟,默认值:15)
|
||||||
- --localOnly 仅清理本地日志和还原本地路由/DNS配置
|
- --localOnly 仅清理本地日志和还原本地路由/DNS配置
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
### 低代码平台
|
||||||
|
|
||||||
|
#### 前端启动
|
||||||
|
```shell
|
||||||
|
#- 在 jeecgboot-vue3 目录下执行
|
||||||
|
fnm exec --using=20.14.0 C:\Programs\Developer\nodejs20\pnpm.cmd run dev
|
||||||
|
```
|
303
草稿/业务服务监控大盘规划.md
Normal file
303
草稿/业务服务监控大盘规划.md
Normal file
@ -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 | 数据源对接与验证<br>• SkyWalking API集成<br>• KubeSphere监控接口调试 | 数据源对接文档<br>指标映射表 |
|
||||||
|
| 3-4 | 全局业务健康大盘开发<br>• 核心业务指标可视化<br>• 健康度评分模型 | 业务健康大盘V1<br>评分模型文档 |
|
||||||
|
| 5-6 | 微服务性能大盘开发<br>• 服务拓扑集成<br>• JVM/DB深度监控 | 微服务性能大盘<br>性能基线报告 |
|
||||||
|
| 7 | 交易链路追踪大盘开发<br>• 全链路可视化<br>• 智能分析功能 | 链路追踪大盘<br>分析用例文档 |
|
||||||
|
| 8 | 基础设施资源大盘开发<br>• 资源水位监控<br>• 中间件健康检查 | 资源大盘<br>压测报告 |
|
||||||
|
|
||||||
|
## 技术实现要点
|
||||||
|
|
||||||
|
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%
|
||||||
|
|
||||||
|
通过这四个监控大盘的建设,将形成从业务指标到基础设施的完整监控链条,实现对业务服务的全方位可视化管理。
|
Loading…
x
Reference in New Issue
Block a user