Обзор инфраструктуры
Архитектура
CallBox — распределённая система на 10 серверах в сети 10.10.19.0/24.
INTERNET
|
+-- lb-1 (188.130.238.189) -- Primary LB
+-- lb-2 (92.47.181.152) -- Secondary LB
|
+-- 10.10.19.0/24 (Internal)
+-- web-1 (.21) -- App Server 1
+-- web-2 (.22) -- App Server 2
+-- db-1 (.31) -- PostgreSQL Primary (Patroni)
+-- db-2 (.32) -- PostgreSQL Replica (Patroni)
+-- redis-1(.40) -- Redis + Sentinel
+-- voip-1 (.51) -- Asterisk PBX Primary
+-- voip-2 (.52) -- Asterisk PBX Secondary
+-- mon-1 (.60) -- Monitoring + Ansible + Docs
Приложения
| Приложение |
Описание |
URL |
| CallBox |
Портал управления call-центром |
https://b2g.kz/callbox |
| Shared Admin |
Единое управление пользователями |
https://b2g.kz/admin |
| SUO |
Система учёта обращений |
https://b2g.kz/suo |
| Документация |
MkDocs |
https://docs.b2g.kz |
Технологический стек
- Frontend: React + TypeScript + Vite
- Backend: Python FastAPI
- БД: PostgreSQL 16.11 + Patroni HA
- Кэш: Redis 7.0.15 + Sentinel
- PBX: Asterisk 20.17.0
- Контейнеризация: Docker 29.1.5 + Docker Compose v5.0.1
- Балансировка: nginx 1.24.0 + keepalived 2.2.8 + HAProxy 2.8.16
- Мониторинг: Prometheus + Grafana 12.3.1
- Управление: Ansible
- VCS: Git (origin на lb-1)
AI-сервисы (внешний сервер 85.29.137.199)
| Сервис |
Порт |
Описание |
| STT |
:5001 |
Whisper, транскрипция звонков (ru/kz) |
| LLM |
:5010/v1 |
gemma-3-12b-it, суммаризация звонков |
TTS (внешний сервер 195.245.99.185)
| Сервис |
Порт |
Описание |
| TTS Gradio |
:7860 |
Fish-Speech, генерация приветствий (ru/kz) |
Доступ в интернет
Внутренние серверы (10.10.19.0/24) НЕ имеют прямого доступа в интернет.
Исходящий трафик возможен только через lb-1/lb-2.
Web-серверы обращаются к внешним API (STT, TTS, LLM) через lb.