Sync README files from source repository [skip ci]
This commit is contained in:
@@ -0,0 +1,105 @@
|
|||||||
|
# SmartPool Client Migration Notes
|
||||||
|
|
||||||
|
Tai lieu nay tong hop cac thay doi phia client de cac service dang su dung `Icomm.SmartPool.Proxy` cap nhat nhanh.
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
Ap dung cho cac thay doi moi cua logging flow:
|
||||||
|
- Logging luon chay doc lap (fire-and-forget)
|
||||||
|
- Retry bang channel + batch flush
|
||||||
|
- Tach timeout cho request chinh va request log
|
||||||
|
|
||||||
|
## Breaking Changes
|
||||||
|
|
||||||
|
### 1) SmartPoolOptions renamed/removed
|
||||||
|
|
||||||
|
- Renamed:
|
||||||
|
- `TimeoutMs` -> `RequestTimeoutMs`
|
||||||
|
- `LogBatchSize` -> `LogRetryMaxBatchSize`
|
||||||
|
- `LogBatchFlushIntervalMs` -> `LogRetryFlushIntervalMs`
|
||||||
|
- Removed:
|
||||||
|
- `EnableBatchLogging`
|
||||||
|
- `EnableFireAndForgetLogging`
|
||||||
|
|
||||||
|
### 2) Logging mode options removed
|
||||||
|
|
||||||
|
Khong con bat/tat "batch mode" hay "fire-and-forget mode" bang option:
|
||||||
|
- Logging hien tai mac dinh la non-blocking.
|
||||||
|
- Neu gui log that bai lan dau, log duoc dua vao retry channel.
|
||||||
|
- Retry batch that bai tiep se bi bo (best-effort).
|
||||||
|
|
||||||
|
## Timeout Behavior (new)
|
||||||
|
|
||||||
|
- `RequestTimeoutMs`:
|
||||||
|
- Dung cho non-log requests (GetProxy/Ping)
|
||||||
|
- Dung cho HTTP client timeout va gRPC deadline cua non-log calls
|
||||||
|
- `LogRequestTimeoutMs`:
|
||||||
|
- Dung rieng cho log send (single + retry batch)
|
||||||
|
- Log gRPC calls khong dung `RequestTimeoutMs` deadline nua de tranh timeout chong nhau
|
||||||
|
|
||||||
|
## Config Migration
|
||||||
|
|
||||||
|
### Before
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"SmartPool": {
|
||||||
|
"TimeoutMs": 30000,
|
||||||
|
"EnableFireAndForgetLogging": true,
|
||||||
|
"EnableBatchLogging": true,
|
||||||
|
"LogBatchSize": 50,
|
||||||
|
"LogBatchFlushIntervalMs": 5000
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### After
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"SmartPool": {
|
||||||
|
"RequestTimeoutMs": 30000,
|
||||||
|
"LogRequestTimeoutMs": 3000,
|
||||||
|
"LogRetryMaxBatchSize": 50,
|
||||||
|
"LogRetryFlushIntervalMs": 5000
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## DI Preset Migration
|
||||||
|
|
||||||
|
Neu service dang set options trong code:
|
||||||
|
|
||||||
|
### Before
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
services.AddSmartPoolClient(options =>
|
||||||
|
{
|
||||||
|
options.TimeoutMs = 30000;
|
||||||
|
options.EnableFireAndForgetLogging = true;
|
||||||
|
options.EnableBatchLogging = true;
|
||||||
|
options.LogBatchSize = 50;
|
||||||
|
options.LogBatchFlushIntervalMs = 5000;
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
### After
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
services.AddSmartPoolClient(options =>
|
||||||
|
{
|
||||||
|
options.RequestTimeoutMs = 30000;
|
||||||
|
options.LogRequestTimeoutMs = 3000;
|
||||||
|
options.LogRetryMaxBatchSize = 50;
|
||||||
|
options.LogRetryFlushIntervalMs = 5000;
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
## Notes for Service Owners
|
||||||
|
|
||||||
|
- Khong can doi call-site `LogProxyUsageAsync(...)`:
|
||||||
|
- Method van tra `Task<bool>` de giu compatibility.
|
||||||
|
- Hanh vi hien tai la best-effort non-blocking.
|
||||||
|
- Neu service can "guaranteed logging", can bo sung co che queue/persist o layer service.
|
||||||
|
- Nen cap nhat tat ca `appsettings*.json` va env mapping de dung key moi.
|
||||||
|
|
||||||
@@ -3,6 +3,8 @@
|
|||||||
Client SDK for SmartPool proxy management system. Supports both gRPC and HTTP protocols.
|
Client SDK for SmartPool proxy management system. Supports both gRPC and HTTP protocols.
|
||||||
|
|
||||||
> 📖 **Xem tài liệu chi tiết**: [SDK_DOCUMENTATION.md](./SDK_DOCUMENTATION.md)
|
> 📖 **Xem tài liệu chi tiết**: [SDK_DOCUMENTATION.md](./SDK_DOCUMENTATION.md)
|
||||||
|
>
|
||||||
|
> 📌 **Migration note (quan trọng)**: [CLIENT_MIGRATION_NOTES.md](./CLIENT_MIGRATION_NOTES.md)
|
||||||
|
|
||||||
## ✨ Features
|
## ✨ Features
|
||||||
|
|
||||||
@@ -65,7 +67,10 @@ Add to `appsettings.json`:
|
|||||||
"Port": 5001,
|
"Port": 5001,
|
||||||
"UseSecureConnection": false,
|
"UseSecureConnection": false,
|
||||||
"DefaultAccessToken": "your-access-token",
|
"DefaultAccessToken": "your-access-token",
|
||||||
"TimeoutMs": 30000
|
"RequestTimeoutMs": 30000,
|
||||||
|
"LogRequestTimeoutMs": 3000,
|
||||||
|
"LogRetryMaxBatchSize": 50,
|
||||||
|
"LogRetryFlushIntervalMs": 5000
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user