Нефункциональные требования к программному компоненту 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