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

Архитектура и стандарты

Архитектурные решения

Определяем ответственность сервисов, правила хранения и обмена данными, права доступа и порядок обновлений. Эти решения помогают поддерживать систему и развивать её по мере роста нагрузки.

Модель системы

Управление системой и обработка файлов

Сервисы управления проверяют права, ведут каталог и назначают задачи. Отдельные серверы принимают и обрабатывают файлы рядом с хранилищами. Между ними передаются команды и статусы по согласованным интерфейсам.

Управление, обработка и хранение. Управление пользователями, задачами, каталогом и журналом действий отделено от обработки файлов. Сервисы обмениваются данными через согласованные интерфейсы. Организации работают в отдельных пространствах, а мониторинг охватывает все части системы.

Стандарты

Как эти решения работают на практике

  • Ответственность сервисов

    У каждого сервиса свои задачи и данные. Для взаимодействия с ним другие части системы используют согласованные интерфейсы.

    • Ответственный сервис для каждого набора данных
    • Обмен через интерфейсы сервисов
    • Версии интерфейсов
  • Надёжное хранение данных

    Основные записи сохраняются в постоянном хранилище. Связанные изменения выполняются вместе, целостность данных проверяется, а изменения структуры тестируются перед внедрением.

    • Согласованное обновление данных
    • Проверка целостности данных
    • Проверка изменений структуры
  • Координация рабочих процессов

    Сервисы согласуют выполнение общих задач. Временное хранение результатов ускоряет повторные запросы, а основные данные остаются в постоянном хранилище.

    • Согласованная работа сервисов
    • Быстрый доступ к повторным результатам
    • Постоянное хранение основных записей
  • Права доступа и история действий

    Пользователь получает права в соответствии со своими обязанностями. Для важных действий сохраняются исполнитель, время и результат.

    • Доступ по ролям
    • Запись исполнителя и времени
    • Журнал действий
  • Разделение рабочих сред

    Рабочую и тестовую среды, данные организаций и задачи обработки разделяем, чтобы ограничить влияние изменений и сбоев.

    • Отдельные среды для работы и проверки
    • Изолированное выполнение задач
    • Разделение данных организаций
  • Мониторинг и поиск ошибок

    Мониторинг показывает состояние сервисов, нагрузку и ошибки. Журналы помогают определить, что произошло и какая часть системы требует внимания.

    • Состояние сервисов
    • Журналы событий и ошибок
    • Контроль важных рабочих процессов
  • Обновления и возврат к предыдущей версии

    Обновления вводим по этапам. До запуска проверяем изменения и порядок возврата к предыдущей версии, если новая версия вызывает проблемы.

    • Поэтапное обновление
    • Проверенный порядок возврата
    • Совместимость при изменении структуры данных

Целостность файлов

Проверка файлов при переносе в хранилище

Файл сначала записывается во временное место и сравнивается с исходным по контрольной сумме. Только после проверки он становится доступен по конечному пути. Затем результат отражается в каталоге и журнале действий.

Пять шагов переноса файла: временная запись, вычисление контрольной суммы, сравнение с исходным файлом, завершение переноса и запись результата.

  1. 01

    Временная запись

    Запись файла во временное место на целевом хранилище.

  2. 02

    Контрольная сумма

    Вычисление контрольной суммы записанного файла.

  3. 03

    Сравнение

    Сравнение с исходным файлом. При несовпадении перенос не подтверждается.

  4. 04

    Завершение переноса

    Файл становится доступен по конечному пути целиком, без частично записанной версии.

  5. 05

    Запись результата

    Обновление каталога и запись действия в журнал.

Архитектурные принципы

  • Разделение ответственности

    Для каждого сервиса определяем его задачи, данные и правила взаимодействия с другими частями системы.

  • Управление и обработка отдельно

    Проверка прав и назначение задач выполняются отдельно от обработки больших файлов.

  • Правила обмена данными

    Заранее задаём форматы запросов и сообщений, проверяем данные и учитываем версии интерфейсов.

  • Доступ по обязанностям

    Пользователи и сервисы получают права, необходимые для выполнения своих задач.

  • Разделение данных организаций

    В общей платформе каждая организация получает доступ только к своим данным и рабочему пространству.

  • История действий

    Для важных изменений сохраняем исполнителя, время и результат действия.

  • Обработка рядом с файлами

    Размещаем обработку рядом с хранилищами, чтобы сократить передачу больших файлов между серверами.

  • Мониторинг работы системы

    Отслеживаем состояние сервисов, нагрузку, скорость обработки и ошибки.

  • Постепенное внедрение

    Внедряем изменения по этапам и проверяем результат перед следующим шагом.

  • Возврат к предыдущей версии

    До обновления определяем и проверяем порядок возврата к работающей версии.

Возможности платформы

  • Рабочий интерфейс

    • Понятная навигация
    • Работа на компьютере и телефоне
    • Управление с клавиатуры
    • Единый визуальный стиль
    • Инструменты для повседневных задач
  • Интеграции и рабочие процессы

    • Интеграция с существующими системами
    • Автоматический обмен данными
    • Согласованная работа сервисов
  • Управление данными

    • Надёжное хранение данных
    • Согласованное обновление данных
    • История изменений и действий
    • Права доступа к информации
  • Обработка видео и аудио

    • Преобразование форматов файлов
    • Преобразование речи в текст
    • Выделенные серверы обработки
    • Обработка рядом с хранилищами
  • Внедрение и эксплуатация

    • Отдельные среды для работы и проверки
    • Облачное, локальное или гибридное размещение
    • Мониторинг и проверка обновлений

Проверим архитектуру вашей системы

Обсудим, как устроена система, где возникают ограничения и какие изменения нужны для её развития.