Перейти к содержанию

Обзор инфраструктуры

Архитектура

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.