Архитектура платформы
1. Продуктивный контур
%%{init: {'flowchart': {'defaultRenderer': 'dagre-wrapper', 'curve': 'basis'}}}%%
flowchart LR
subgraph CUST_PROD["Системы заказчика — ПРОДУКТИВНЫЙ контур"]
direction TB
SAP_P[SAP]
TEZ_P["Тезис"]
B2B_P["B2BCenter"]
BID_P["Bidzaar"]
DIA_P["ЭДО Диадок"]
AD_P["Active Directory"]
ADFS_P["ADFS"]
LOT_P["Lotus SMTP/IMAP"]
end
subgraph ZONE_APP["Сервер приложения"]
direction TB
APP["Контейнер приложения"]
end
subgraph ZONE_DB["Сервер БД"]
direction TB
PG[("PostgreSQL")]
end
subgraph ZONE_REDIS["Сервер кэширования"]
direction TB
RDS[(Redis)]
end
subgraph K8S["Kubernetes-кластер"]
direction TB
LB["Балансировщики x2"]
CP["Control-plane x3"]
WN["Worker nodes x2"]
MAIL["Сервис синхронизации почты"]
DEDUP["Сервис поиска и объединения дублей"]
LB --> CP
LB --> WN
WN --> MAIL
WN --> DEDUP
end
APP --> PG
APP --> RDS
APP -->|"REST"| SAP_P
APP -->|"REST"| TEZ_P
APP -->|"REST"| B2B_P
APP -->|"REST"| BID_P
APP -->|"REST"| DIA_P
MAIL -.->|"SMTP/IMAP"| LOT_P
APP -.->|"SSO/LDAP"| AD_P
APP -.->|"SSO"| ADFS_P
MAIL --> APP
DEDUP --> APP
classDef ext fill:#1e3a5f,stroke:#58a6ff,color:#e6edf3
classDef srv fill:#238636,stroke:#3fb950,color:#fff
classDef data fill:#6e40c9,stroke:#a371f7,color:#fff
classDef k8s fill:#3d2f00,stroke:#d29922,color:#fff
classDef host fill:#21262d,stroke:#8b949e,color:#e6edf3
class SAP_P,TEZ_P,B2B_P,BID_P,DIA_P,AD_P,ADFS_P,LOT_P ext
class APP,MAIL,DEDUP srv
class PG,RDS data
class LB,CP,WN k8s
class ZONE_APP,ZONE_DB,ZONE_REDIS host
2. Препродуктивный контур
%%{init: {'flowchart': {'defaultRenderer': 'elk'}}}%%
flowchart LR
subgraph VPS_PRE["VPS препрод — Docker"]
direction TB
APP2["Приложение"]
PG2[("PostgreSQL")]
RD2[(Redis)]
MAIL2["Синхронизация почты"]
DD2["Поиск и объединение дублей"]
APP2 --> PG2
APP2 --> RD2
MAIL2 --> APP2
DD2 --> APP2
end
subgraph CUST_TEST["Системы заказчика — ТЕСТОВЫЙ контур"]
direction TB
SAP_T[SAP TEST]
TEZ_T["Тезис TEST"]
B2B_T["B2BCenter TEST"]
BID_T["Bidzaar TEST"]
DIA_T["ЭДО Диадок TEST"]
AD_T["Active Directory TEST"]
ADFS_T["ADFS TEST"]
LOT_T["Lotus SMTP/IMAP TEST"]
end
APP2 -->|"REST"| SAP_T
APP2 -->|"REST"| TEZ_T
APP2 -->|"REST"| B2B_T
APP2 -->|"REST"| BID_T
APP2 -->|"REST"| DIA_T
MAIL2 -.->|"SMTP/IMAP"| LOT_T
APP2 -.->|"SSO/LDAP"| AD_T
APP2 -.->|"SSO"| ADFS_T
classDef ext fill:#1e3a5f,stroke:#58a6ff,color:#e6edf3
classDef srv fill:#238636,stroke:#3fb950,color:#fff
classDef data fill:#6e40c9,stroke:#a371f7,color:#fff
classDef host fill:#21262d,stroke:#8b949e,color:#e6edf3
class SAP_T,TEZ_T,B2B_T,BID_T,DIA_T,AD_T,ADFS_T,LOT_T ext
class APP2,MAIL2,DD2 srv
class PG2,RD2 data
class VPS_PRE host
3. Тестовый контур
%%{init: {'flowchart': {'defaultRenderer': 'elk'}}}%%
flowchart LR
subgraph VPS_TEST["VPS тест — Docker"]
direction TB
APP3["Приложение"]
PG3[("PostgreSQL")]
RD3[(Redis)]
MAIL3["Синхронизация почты"]
DD3["Поиск и объединение дублей"]
APP3 --> PG3
APP3 --> RD3
MAIL3 --> APP3
DD3 --> APP3
end
subgraph CUST_TEST2["Системы заказчика — ТЕСТОВЫЙ контур"]
direction TB
SAP_T2[SAP TEST]
TEZ_T2["Тезис TEST"]
B2B_T2["B2BCenter TEST"]
BID_T2["Bidzaar TEST"]
DIA_T2["ЭДО Диадок TEST"]
AD_T2["Active Directory TEST"]
ADFS_T2["ADFS TEST"]
LOT_T2["Lotus SMTP/IMAP TEST"]
end
APP3 -->|"REST"| SAP_T2
APP3 -->|"REST"| TEZ_T2
APP3 -->|"REST"| B2B_T2
APP3 -->|"REST"| BID_T2
APP3 -->|"REST"| DIA_T2
MAIL3 -.->|"SMTP/IMAP"| LOT_T2
APP3 -.->|"SSO/LDAP"| AD_T2
APP3 -.->|"SSO"| ADFS_T2
classDef ext fill:#1e3a5f,stroke:#58a6ff,color:#e6edf3
classDef srv fill:#238636,stroke:#3fb950,color:#fff
classDef data fill:#6e40c9,stroke:#a371f7,color:#fff
classDef host fill:#21262d,stroke:#8b949e,color:#e6edf3
class SAP_T2,TEZ_T2,B2B_T2,BID_T2,DIA_T2,AD_T2,ADFS_T2,LOT_T2 ext
class APP3,MAIL3,DD3 srv
class PG3,RD3 data
class VPS_TEST host