docs(bg,en): fix ports and WebSocket example for new server model
CI / test (push) Has been cancelled
CI / verify (push) Has been cancelled
Clients CI / build-server (push) Has been cancelled
Clients CI / test-python (push) Has been cancelled
Clients CI / test-javascript (push) Has been cancelled
Clients CI / test-nim (push) Has been cancelled
Clients CI / test-rust (push) Has been cancelled

- Update architecture diagram to include WebSocket server (port 9913)
- Fix HTTP port from 9470 to 9912 (TCP + 440) in protocol docs
- Fix WebSocket port from 9471 to 9913 (TCP + 441) in protocol docs
- Fix WebSocket Nim example: remove non-existent onMessage API and
  unsafe cast[string](data), use correct WsServer API with safe helpers
- Clarify TCP_NODELAY is also handled internally by hunos (HTTP)
- Note that bytesToString/stringToBytes are wire-protocol helpers
This commit is contained in:
2026-05-18 19:41:21 +03:00
parent 8afa998516
commit 343f479127
4 changed files with 36 additions and 22 deletions
+10 -5
View File
@@ -45,15 +45,20 @@ TCP и HTTP сървърите споделят един LSMTree инстанс
├────────────────────────┬────────────────────────────────┤
│ TCP Сървър │ HTTP Сървър │
│ (Бинарен Протокол) │ (REST API) │
│ Порт: 9472 │ Порт: 9912
│ Порт: 9472 │ Порт: 9912 (TCP + 440)
│ TCP_NODELAY: ВКЛ │ Multi-threaded │
────────────────────────┴────────────────────────────────
────────────────────────┴────────────────────────────────
│ WebSocket Сървър │
│ (Streaming/Pub-Sub) │
│ Порт: 9913 (TCP + 441) │
│ TCP_NODELAY: ВКЛ │
└─────────────────────────────────────────────────────────┘
```
**Ключови оптимизации:**
- **Споделен LSMTree** — И двата сървъра работят върху един и същ database инстанс, елиминирайки несъответствие в данните
- **TCP_NODELAY** — Включен както на слушащия, така и на клиентските сокети за по-ниска латентност при малки съобщения
- **Безопасна конверсия на байтове** — Правилни `bytesToString`/`stringToBytes` функции вместо unsafe `cast` операции
- **Споделен LSMTree** — Всички сървъри работят върху един и същ database инстанс, елиминирайки несъответствие в данните
- **TCP_NODELAY** — Включен на слушащите и клиентските сокети в TCP/WebSocket сървърите за по-ниска латентност при малки съобщения. HTTP сървърът (чрез hunos) също управлява `TCP_NODELAY` вътрешно.
- **Безопасна конверсия на байтове** — Правилни `bytesToString`/`stringToBytes` функции вместо unsafe `cast` операции във wire протокола
### Управление на Връзки
+3 -3
View File
@@ -110,7 +110,7 @@ BaraDB поддържа множество протоколи за клиент
## HTTP/REST API
Базов URL: `http://localhost:9470/api/v1`
Базов URL: `http://localhost:9912/api/v1` (HTTP порт = TCP порт + 440)
### Rate Limiting
@@ -271,7 +271,7 @@ POST /admin/check
## WebSocket Протокол
URL: `ws://localhost:9471`
URL: `ws://localhost:9913` (WebSocket порт = TCP порт + 441)
### Формат на Frame
@@ -301,7 +301,7 @@ WebSocket текстови frame-ове съдържат JSON съобщения
### Pub/Sub Пример
```javascript
const ws = new WebSocket('ws://localhost:9471');
const ws = new WebSocket('ws://localhost:9913');
ws.onopen = () => {
// Абониране за промени в таблица