Skip to content

Latest commit

 

History

History
48 lines (42 loc) · 2.07 KB

File metadata and controls

48 lines (42 loc) · 2.07 KB
%% Этот код оптимизирован для рендерера Mermaid на GitHub
graph TD
    %% 1. Определяем стили для блоков
    classDef entryPoint fill:#d4edda,stroke:#155724,stroke-width:2px,color:#155724
    classDef coreLogic fill:#cce5ff,stroke:#004085,stroke-width:2px
    classDef risk fill:#f8d7da,stroke:#721c24,stroke-width:2px,color:#721c24
    classDef dependency fill:#e2e3e5,stroke:#383d41,stroke-width:2px
    classDef storage fill:#f0e6ff,stroke:#563d7c,stroke-width:2px

    %% 2. Определяем группы (подграфы) и узлы
    subgraph " "
        Client["(A) Клиент API<br><i>Система, инициирующая запрос</i>"]
    end

    subgraph "(B) VideoProcessing Microservice"
        direction LR
        B1["(B1) MediaFileService<br>Оркестратор процесса"]
        B2["(B2) In-Memory Queue<br><b>РИСК:</b> Потеря данных при перезапуске"]
        B3["(B3) MediaProcessor<br>Обертка над CLI"]
        B4["(B4) StorageFileService<br><b>РИСК:</b> Токен захардкожен"]
    end

    subgraph "(C) Внешние зависимости"
        C1["(C1) CLI Tools<br>ffmpeg, ImageMagick, HLS.jar"]
        C2["(C2) Локальная ФС<br>Исходники и временные файлы"]
    end
    
    subgraph " "
        D["(D) Внешнее хранилище<br>(cinenetwork.ru)"]
    end

    %% 3. Определяем связи между узлами
    Client -- "1. HTTP-запрос" --> B1
    B1 -- "2. Управление очередью" <--> B2
    B1 -- "3. Запуск обработки" --> B3
    B3 -- "4. Вызов команд" --> C1
    B3 -- "5. Чтение/запись файлов" <--> C2
    C1 -- " " --> C2
    B1 -- "6. Запуск выгрузки" --> B4
    B4 -- "7. Загрузка по HTTP" --> D

    %% 4. Применяем стили к узлам
    class Client entryPoint
    class B1,B3 coreLogic
    class B2,B4 risk
    class C1,C2 dependency
    class D storage
Loading