Нефункциональные требования к программному компоненту MFEX#

Требования к производительности#

Пропускная способность (Throughput)#

  • Обработка файлов: не менее 20 файлов/секунду при среднем размере файла 1 МБ

  • Обработка сообщений Kafka: не менее 50 сообщений/секунду

  • Параллельная обработка: поддержка одновременной обработки до 100 файлов

Время отклика (Latency)#

  • Передача файла (1 МБ): 95-й перцентиль ≤ 4 секунды

  • Обработка Kafka-сообщения: 95-й перцентиль ≤ 2 секунды

Доступность (Availability)#

  • Время бесперебойной работы: не менее 99.5% в месяц

  • Время восстановления после сбоя: не более 15 минут

  • Плановое техническое обслуживание: не более 4 часов в месяц

Требования к объему данных#

Ограничения транзакций#

  • Максимальное количество вложенных каталогов: 1500 на одну задачу

  • Максимальное количество файлов в ресурсе: 2000 файлов

  • Максимальный размер одного файла: 80% от доступной оперативной памяти

  • Минимальный размер файла: 1 байт

Емкость хранилища#

  • Хранение логов: не менее 30 дней

Требования к безопасности#

Шифрование и аутентификация#

  • TLS: версия 1.2+ для всех внешних соединений

  • Аутентификация: mutual TLS (mTLS) для взаимодействия с внешними системами

Контроль доступа#

  • Аутентификация пользователей: OAuth 2.0

  • Авторизация: RBAC (Role-Based Access Control)

  • Управление идентификацией: SCIM (синхронизация пользователей/ролей)

  • Проксирование доступа: IAM Proxy (централизованный шлюз)

Требования к надежности#

Обработка ошибок#

  • Повторные попытки передачи: количество попыток устанавливается пользователем с экспоненциальной задержкой

  • Время между повторными попытками: устанавливается пользователем

  • Уведомление об ошибках: в течение 1 минуты после критического сбоя

  • Гарантирована надежность доставки

Условия тестирования и валидации#

Все указанные характеристики достигаются при следующей конфигурации:

  • Kubernetes: версия 1.25+, 3 узла

  • Ресурсы на pod: 4 CPU, 8 ГБ RAM, 50 ГБ ephemeral storage

  • Сетевая инфраструктура: latency ≤ 5 мс между сервисами кластера

  • Внешние зависимости: доступность ≥ 99% для АС1, АС2, Kafka