节点在线、应用在线、配置在线使用令牌查询
|
# StarGateway 功能清å•
> 版本:v2.0 | 日期:2026-07-08
> çŠ¶æ€æ ‡è®°ï¼šâœ… 已实现 | 🟡 部分实现 | 🔧 è§„åˆ’ä¸ | ⸠暂缓/å ä½ | ⌠未开始
本清å•维护"æ ¸å¿ƒç›®æ ‡ → 功能模å—/忍¡å— → 完æˆçжæ€"。模å—å对é½[需求文档](/NewLife/Stardust/Blob/master/Doc/StarGateway需求文档.md)第 3 ç« çš„åŠŸèƒ½ç‚¹å称。
---
## M1 动æ€è·¯ç”±ä¸Žæµé‡è½¬å‘
| ç¼–ç | 功能 | çŠ¶æ€ | 说明 |
|------|------|:----:|------|
| M1-1 | 域å路由 | ✅ | GatewayRoute.MatchDomain 支æŒç²¾ç¡®/通é…符/* |
| M1-2 | 路径路由 | ✅ | GatewayRoute.MatchPath 支æŒå‰ç¼€/ç²¾ç¡®åŒ¹é… |
| M1-3 | 请求头/æŸ¥è¯¢å‚æ•°è·¯ç”± | ✅ | GatewayRoute.MatchHeaders 支æŒé€šé…符/精确/包å«åŒ¹é… |
| M1-4 | è´Ÿè½½å‡è¡¡ï¼ˆè½®è¯¢/最少连接/IP Hash) | ✅ | 最少连接真算法:实时追踪活跃连接数 |
| M1-5 | TLS 终æ¢ï¼ˆHTTPS) | ✅ | 统一使用 SslCertificateï¼Œæ”¯æŒ PEM/PFX/CRT+KEY å¤šæ ¼å¼ |
| M1-6 | å¥åº·æ£€æŸ¥ï¼ˆä¸»åŠ¨ï¼‰ | ✅ | TCPç«¯å£æŽ¢æµ‹ï¼Œå®šæ—¶æ£€æŸ¥å¹¶æ›´æ–°èŠ‚ç‚¹çŠ¶æ€ |
| M1-7 | WebSocket ä»£ç† | ✅ | å‡çº§æ¡æ‰‹é€ä¼ + 逿˜Žå¸§è½¬å‘ + 路由级开关 + 仅首次日志 |
| M1-7a | â”” å‡çº§æ¡æ‰‹é€ä¼ | ✅ | 检测 `Upgrade: websocket`,é€ä¼ 101 å“应 |
| M1-7b | â”” 逿˜Žå¸§è½¬å‘ | ✅ | TCP 层é¢åŒå‘转å‘帧数æ®ï¼Œä¸è§£å¸§å†…容 |
| M1-7c | â”” ååè®®é€ä¼ | ✅ | Sec-WebSocket-Protocol é€ä¼ |
| M1-7d | â”” 路由级开关 | ✅ | 路由 `WebSocket` å—æ®µæŽ§åˆ¶æ˜¯å¦å…许å‡çº§ |
| M1-7e | â”” 仅首次记录日志 | ✅ | å‡çº§åŽè·³è¿‡ HTTP è§£æžã€æ—¥å¿—ã€Span |
| M1-7f | â”” å¯é…置空闲超时 | ✅ | IdleTimeout 从 StarGatewaySetting è¯»å– |
## M2 集ä¸é…置管ç†
| ç¼–ç | 功能 | çŠ¶æ€ | 说明 |
|------|------|:----:|------|
| M2-1 | StarServer é…ç½®ä¸‹å‘ | 🟡 | StarClient 已集æˆï¼ˆæ³¨å†Œ/心跳),API é…置拉å–预留 |
| M2-2 | 本地é…置文件兜底 | ✅ | 支æŒgateway.jsonæœ¬åœ°æ–‡ä»¶åŠ è½½ |
| M2-3 | é…ç½®çƒæ›´æ–° | ✅ | HttpReverseProxy 定时15秒刷新路由 + è¯ä¹¦çƒæ›´æ–° |
| M2-4 | 本地 Admin API | ✅ | /api/status, /api/routes, /api/refresh |
| M2-5 | 头部修改(StripPrefix + AddHeaders) | ✅ | 转å‘å‰è‡ªåŠ¨åŽ»é™¤è·¯å¾„å‰ç¼€å’Œæ·»åŠ è¯·æ±‚å¤´ |
## M3 StarAgent ååŒ
| ç¼–ç | 功能 | çŠ¶æ€ | 说明 |
|------|------|:----:|------|
| M3-1 | 本地 StarAgent 通信 | ✅ | HttpClient调用StarAgent API (StartService/StopService) |
| M3-2 | ç«¯å£æŽ¢æµ‹ | ✅ | TCPç«¯å£æŽ¢æµ‹ï¼ˆé›†æˆåœ¨å¥åº·æ£€æŸ¥ä¸ï¼‰ |
| M3-3 | 应用唤醒(冷å¯åŠ¨ï¼‰ | ✅ | æ— å¯ç”¨çš„åŽç«¯èŠ‚ç‚¹æ—¶è‡ªåŠ¨è°ƒç”¨StartService |
| M3-4 | 空闲回收 | ✅ | 追踪åŽç«¯æœ€åŽæ´»åŠ¨æ—¶é—´ï¼Œè¶…æ—¶å›žæ”¶ |
## M4 å¯è§‚测性
| ç¼–ç | 功能 | çŠ¶æ€ | 说明 |
|------|------|:----:|------|
| M4-1 | 访问日志 | ✅ | AdminLog 记录请求方法/路径/ç›®æ ‡/路由å |
| M4-2 | 星尘 APM é›†æˆ | ✅ | æ¯æ¬¡è½¬å‘创建追踪Spanï¼Œä¼ é€’Trace头 |
| M4-3 | è¿è¡ŒæŒ‡æ ‡æš´éœ² | ✅ | /api/status è¿”å›žä¼šè¯æ•°/请求数/路由数/è¿è¡Œæ—¶é—´ |
---
## M5 è¯ä¹¦ä¸Žé›†æˆï¼ˆæ–°å¢žï¼‰
| ç¼–ç | 功能 | çŠ¶æ€ | 说明 |
|------|------|:----:|------|
| M5-1 | è¯ä¹¦ç»Ÿä¸€ç®¡ç†ï¼ˆSslCertificate) | ✅ | 废弃 GatewayCert,统一使用部署ä¸å¿ƒ SslCertificate |
| M5-2 | å¤šæ ¼å¼è¯ä¹¦æ”¯æŒ | ✅ | PEM / PFX / CRT+KEY è‡ªåŠ¨è¯†åˆ«åŠ è½½ |
| M5-3 | è¯ä¹¦çƒæ›´æ–° | ✅ | é…置刷新周期自动é‡è½½è¯ä¹¦ |
| M5-4 | StarServer 注册 | ✅ | 作为 AppClient 注册到 StarServer,在线å¯è§ |
| M5-5 | StarFactory é›†æˆ | ✅ | 自动读å–é…置链(命令行→环境å˜é‡â†’appsettings→Star.config) |
| M5-6 | ä¼˜é›…å…³é— | ✅ | åå‘顺åºåœæ¢æœåŠ¡ï¼Œæ¯æœåŠ¡10ç§’è¶…æ—¶ |
---
## ç”Ÿäº§åŠ å›º
| 项目 | çŠ¶æ€ | 说明 |
|------|:----:|------|
| 端å£é»˜è®¤å€¼ä¿®å¤ 8080→8800 | ✅ | 与 Setting.cs 默认值一致 |
| ProbeAddress 异æ¥åŒ– | ✅ | 消除 task.Wait çº¿ç¨‹æ± é¥¥é¥¿é£Žé™© |
| InitService åˆå§‹åŒ–ä¿®å¤ | ✅ | æ·»åŠ å®Œæˆæ—¥å¿—ï¼Œæ›¿æ¢ GatewayCert→SslCertificate |
| PublishProfile 更新 | ✅ | netcoreapp3.1 → net10.0 |
| PublishProfile 简化 | ✅ | 更新为自包å«å•文件å‘布é…ç½® |
| è¯ä¹¦çƒæ›´æ–° | ✅ | é…ç½®åˆ·æ–°å®šæ—¶å™¨åŒæ—¶åˆ·æ–°è¯ä¹¦ |
---
## 统计
| æ¨¡å— | 功能数 | å·²å®Œæˆ | 完æˆçއ |
|------|:-----:|:-----:|:-----:|
| M1 动æ€è·¯ç”±ä¸Žæµé‡è½¬å‘ | 13 | 13 | 100% |
| M2 集ä¸é…ç½®ç®¡ç† | 5 | 5 | 100% |
| M3 StarAgent ååŒ | 4 | 4 | 100% |
| M4 å¯è§‚测性 | 3 | 3 | 100% |
| M5 è¯ä¹¦ä¸Žé›†æˆï¼ˆæ–°å¢žï¼‰ | 6 | 6 | 100% |
| **总计** | **31** | **31** | **100%** |
---
## åŽç»è§„划(暂缓)
| 功能 | 说明 | 剿 |
|------|------|------|
| HTTP/2 / HTTP/3 æ”¯æŒ | åè®®å‡çº§ | 出现必须 HTTP/2 çš„åŽç«¯éœ€æ±‚ |
| 陿µ/ç†”æ– | 令牌桶 / æ»‘åŠ¨çª—å£ | è´Ÿè½½å‡è¡¡å’Œå¥åº·æ£€æŸ¥å®Œå–„åŽ |
| JWT/API Key è®¤è¯ | ç½‘å…³å±‚ç»Ÿä¸€è®¤è¯ | 需è¦ç»Ÿä¸€ç½‘关层认è¯çš„场景 |
| Prometheus æŒ‡æ ‡ | æ ‡å‡†å¯è§‚测性 | ç”¨æˆ·æ˜Žç¡®è¦æ±‚ |
| gRPC ä»£ç† | HTTP/2 基础上的 gRPC è½¬å‘ | HTTP/2 支æŒå®ŒæˆåŽ |
|