VK WorkSpace On-Premise logo
Помощь
Обновлена 20 октября 2026 г. в 14:33

Архитектура Почты VK WorkSpace

Введение

В настоящем документе приведено описание архитектуры корпоративной электронной почты Почта VK WorkSpace.

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

  • системные администраторы;
  • специалисты по информационной безопасности.

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

Сокращения и определения

Наименование

Определение

СУБД

Система управления базами данных

ЦОД

Центр обработки данных

Сниппет

Фрагмент исходного текста, применяемый в поисковых запросах

AD

Active Directory - служба каталогов пользователей

LDAP

Lightweight Directory Access Protocol - облегченный протокол доступа к каталогам, открытый стандартизированный протокол, применяемый для работы с различным реализациям служб каталогов, в том числе и Active Directory

Архитектура Системы

Почта VK WorkSpace может быть установлена как на площадке заказчика, так и в облачном сервисе VK Cloud Solutions.

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

Возможные интеграции

На схеме ниже представлены возможные интеграции с Почта VK WorkSpace:

vk-mail-description

LDAP, AD

Система работает со службами каталогов по LDAP, клиент предоставляет только путь и пароль на чтение. Из инфраструктуры клиента в систему выгружаются и сохраняются все пользователи, группы и группы рассылок, организационно-штатная структура. Администратор настраивает синхронизацию, и дальнейшая аутентификация происходит в AD через LDAP — в почтовой системе пароли не хранятся.

В дополнение к данным из AD в почтовой системе можно вручную создавать пользователей, импортировать данные из CSV-файла.

SIEM

Система управления информационной безопасностью и событиями безопасности. Сервисы Почта VK WorkSpace логируют события безопасности, которые могут быть интегрированы с корпоративной подсистемой SIEM. Для интеграции с SIEM используется сервис управления логами Rsyslog, передача логов поддерживается по протоколам TCP, UDP.

DLP

Интеграция с DLP-системами возможна в разрыв с MX. В почтовой системе МХ настраивается на DLP-систему (собственные базовые проверки отключаются), в результате осуществляется пересылка всех писем из DLP-системы в почтовую систему (даже тех писем, которые отправлены внутри почтовой системы).

Антивирус/Антиспам

Используются внешние решения (например, DrWeb, Kaspersky) с целью экономии ресурсов клиента. (Встроенная антивирус / антиспам-система была бы очень ресурсоемка для клиентов, занимает много места, требует большого трафика входящей почты для качественного анализа, что не всегда возможно у клиента.)

NTP

Используется для синхронизации времени. Возможно использование внешних серверов, если нет сложностей с прохождением сетевых фильтров.

DNS

Используется для соотношения IP-адресов и доменных имен, находящихся в базе данных сервера.

IMAP-сервера

Используется для взаимодействия с внешними почтовыми серверами для отправки/получения и синхронизации почты.

Почтовые сервера/SMTP

Используется для взаимодействия с внешними или внутренними корпортавными почтовыми серверами для отправки/получения почты.

Верхнеуровневая архитектура Системы

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

vk-mail-description

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

Фронтенд и Бэкенд продукта Почта VK WorkSpace состоит из множества различных компонентов (будут рассмотрены ниже), которые отвечают за определенную часть бизнес-логики.

Архитектура продукта Почта VK WorkSpace позволяет выполнить масштабирование — в зависимости от потребностей клиента. При необходимотси масштабирования хранилищ и баз данных в Почта VK WorkSpace предусмотрена репликация и шардирование баз данных.

Компонетная архитектура Системы

Схема компонентов продукта Почта VK WorkSpace представлена на рисунке ниже:

vk-mail-description

На схеме компоненты Почта VK WorkSpace разделены на три логических уровня:

  • Уровень клиентского доступа — отвечает за прием всех форм клиентских покдлючений (запросов), а также выполняет роль бансировки нагрузки и маршрутизации запросов. Подключение клиентов напрямую к уровню приложений и хранению данных — исключено.

  • Уровень приложений — отвечает за реализацию бизнес-логики, обеспечивает контроль прав доступа.

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

Сервисы системы

Сервисы pub

Сервисы компонента pub являются входной точкой в Почту VK WorkSpace и выполняют различные проверки входных и выходных данных, в том числе авторизуют запросы пользователей.

Общая схема сервисов комнонента pub приведена на рисунке ниже:

vk-mail-description

Подробное описание потоков данных приведено в разделе Диаграммы потоков данных.

Описание сервисов компонента pub приведено в таблице ниже:

Наименование сервиса

Назначение

pub (web)

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

pub-mx

Прием и фильтр SMTP-запросов от внешних неаутентифицированных пользователей

pub-imap

Прокси почтового трафика по IMAP-протоколу для отправки/получения и синхронизации почты

pub-smtp

Прием и фильтр SMTP-запросов от внутренних и внешних аутентифицированных пользователей

Сервис fedman

Применение fedman — работа системы Почта VK WorkSpace при размещении в двух и более ЦОД, в рамках одного Заказчика. При этом в каждом ЦОД выполняется самостоятельная отказоустойчивая инсталляция продукта Почта VK WorkSpace и которая обслуживает пользователей, относящихся к каждой из инсталляций. В каждом ЦОД создаются самостоятельные кластеры.

Сервис fedman применяется только для почтового трафика.

В качестве СУБД сервис fedman использует Tarantool. Создается кластер Tarantool в режиме синхронной репликации.

Сервисы аторизации и аутентификации

Общая схема сервисов приведена на рисунке ниже:

vk-mail-description

Описание сервисов авторизации и аутентификации приведено в таблице ниже:

Наименование сервиса

Назначение

swa

Группа сервисов аутентификации (clauth, GoCube, UMI) выдача, хранение и валидация сессионных токенов для пользователей

adloader

Сервис интеграции с LDAP — синхронизирует списки пользователей и групп рассылок, проверяет пароль в LDAP

Последовательность прохождения аутентификации и авторизации пользователя:

  1. Пользователь отправляет запрос на аутентификациию по протоколу IMAP/SMTP/HTTP.
  2. Pub идентифицирует запрос и выполяет перенаправление в сервисы swa.
  3. Swa выполняет проверку учетной записи, если пользователь локальный — осуществляет проверку логина и пароля в хранилище пользовательских аккаунтов, если пользователь из внешнего каталога, то выполняет проверку учетной записи через adloader, который отправляет запрос по протоколу LDAP в AD.
  4. В случае успешной аутентификации swa передает сессионный токен в ответ пользователю.

Сервисы MTA

Общая схема сервисов приведена на рисунке ниже:

vk-mail-description

Описание сервисов MTA приведено в таблице ниже:

Наименование сервиса

Назначение

smtp

Агент пересылки почтовых сообщений от внутренних и внешних аутентифицированных пользователей

relay

Сервис пересылки почтовых сообщений без авторизации для внешнего и внутреннего трафика

mx

Агент пересылки сообщений от внешних неаутентифицированных пользователей

dlp

DLP-система для обработки внешнего/внутреннего почтового трафика

Сервис mailapi

Основной сервис для отправки и получения почтовых сообщений по протоколу HTTP для авторизованных пользователей.

Сервис mailapi взаимодействует с :

  • сервисом mescalito — для получения писем из хранилища;
  • с агентом пересылки почтовых сообщений по gRPC — для отправки почтовых сообщений на внешний почтовый сервер и отправки писем между внутренними сотрудниками.

Сервис imapd

Основной сервис для получения почтовых сообщений по протоколу IMAP для авторизованных пользователей.

Сервис imapd взаимодействет с :

  • прокси сервисом pub-imap — для доставки почтовых сообщений по протоколу IMAP в почтовый клиент;
  • сервисом mescalito — для получения писем для отправки по IMAP.

Сервисы транспортных правил

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

Описание сервисов транспортных правил приведено в таблице ниже:

Наименование сервиса

Назначение

dlp

Обработчик писем системы транспортных правил

dlp-pg

База данных системы транспортных правил

dlp-api

API системы транспортных правил

Сервисы резервного копирования

Резервное копирование в продукте Почта VK WorkSpace выполняется с помощью bmwclient — это клиент для выполнения запросов к gRPC API. Основные функции клиента: резервное копирование и восстановление почтового ящика, облака, календарей, профилей пользователей и адресных книг.

Описание сервисов резервного копирования приведено в талице ниже:

Наименование сервиса

Назначение

bmw

Сервис бэкапирования данных различных компонентов решения

bmw-tnt

База данных сервиса резервного копирования

Сервис bookster

Сервис для поиска контактов одновременно по доменной и личной адресным книгам.

Сервисы поиска

В поиске реализовано две последовательности действий (процессов):

  • Индексация новых писем.
  • Обработка поисковых запросов.

Индексация новых писем

Описание сервисов, используемых при индексации писем приведено в таблице ниже:

Наименование сервиса

Назначение

storage

Условное наименование нескольких хранилищ данных разного назначения

extract-http

API извлечения текста из документов (например, .docx)

crow-frontend

API поиска в почте

crow-index

Хранилище поисковых индексов

crow-usershards

База данных связей: пользователь, индекс, хранилище индексов

Общая схема сервисов при индексации приведена на рисунке ниже:

vk-mail-description

При получении нового письма пользователем storage формирует и отправляет уведомление о новом письме в crow-frontend.

Сервисом crow-frontend выполняется следующая последовательность действий:

  • получает тело письма со storage;
  • чистит письмо от лишнего (html, css и др.), оставляет только текст;
  • выполняет токенизацию, лемматизацию и т.д.;
  • если в письме был приложен документ, то извлекается текст из документа с помощью сервиса extract-http;
  • преобразует найденные лексемы в формат, пригодный для сохранения в поисковый индекс пользователю;
  • сохраняет очищенный текст в сервис storage (этот текст называется поисковый сниппет, в дальнейшем он используется для визульной подсветки результатов поиска);
  • сохраняет выделенные лексемы в оба индексатора.

Обработка поисковых запросов

Общая схема сервисов при индексации приведена на рисунке ниже:

vk-mail-description

При выполнении поисковых запросов пользователем сервисом crow-frontend выполняется следующая последовательность действий:

  • запрос токенизируется и лемматизируется, как и при индексации письма (в результате получается набор токенов, которые можно искать в индексаторах);
  • crow-frontend с помощью crow-usershards выполняет поиск ip-индексаторов и отправляет запрос в один из них crow-usershards;
  • если запрос слишком долгий или неудачный, то выполняется такой же запрос в парный индексатор;
  • когда ответ получен, то он содержит id писем, которые искал пользователь (т.е. в этих письмах есть запрошенные пользователем фразы);
  • crow-frontend отправляет запрос в storage для получения поисковых сниппетов;
  • клиенту отдается ответ, включающий сниппеты, подсветку наиболее релевантных результатов поиска, id писем, подходящих под поисковый запрос.

Сервис streamer

Сервис для загрузки больших вложений в почтовое сообщение. Более подробное описание сервиса приведено в документе Архитектура VK Диск.

Сервис deliveryd

Общая схема сервисов приведена на рисунке ниже:

vk-mail-description

После обработки внешнего и внутреннего почтового трафика сервисами MTA (smtp, mx) выполняется пересылка почтового трафика в DLP-систему. После успешено пройденной проверки в DLP-системе выполняется передача почтового трафика (сервисом relay) в сервис deliveryd для доставки в почтовое хранилище.

Описание сервисов приведено в таблице ниже:

Наименование сервиса

Назначение

deliveryd

Сервис доставки почтовых сообщений в хранилище

storage

Условное наименование нескольких хранилищ данных разного назначения

Сервисы аудита

Сбор пользовательской статистики осуществляется сервисом rebecca на БД PostgreSQL.

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

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

  • MailAdmin — действия администратора в Почте.
  • Mail — события почты и авторизации.
  • Alias — события алиасов почтовых ящиков.

Сервисы мониторинга

В системе Почта VK WorkSpace мониторинг реализован с помощью следующих инструментов:

  • Grafana — платформа для визуализации и анализа метрик, поддерживает множество источников данных (Prometheus, VictoriaMetrics, ClickHouse и др.).
  • Victoria Metrics — высокопроизводительная СУБД для хранения и обработки временных рядов, альтернатива Prometheus с оптимизированным хранилищем.
  • ClickHouse — колоночная аналитическая СУБД, часто используется для хранения и агрегации метрик (особенно в связке с Graphite/Carbon).
  • Carbon-clickhouse — прокси-сервер для Graphite, который записывает метрики напрямую в ClickHouse вместо Whisper/Carbon.
  • Graphite-clickhouse — Graphite-совместимый бэкенд для хранения метрик в ClickHouse.
  • Carbonapi — высокопроизводительный API-сервер для Graphite, поддерживает разные бэкенды (включая ClickHouse).
  • Carbon-c-relay — быстрый и легковесный ретранслятор для Carbon (Graphite), поддерживает балансировку и шардирование.
  • Telegraf — агент для сбора метрик (CPU, память, сети и др.)
  • Cadvisor — инструмент от Google для мониторинга контейнеров (Docker, Kubernetes), собирает данные о ресурсах.
  • Node-exporter — экспортер для Prometheus, собирает метрики с Linux-серверов (диски, сеть, CPU и т.д.).

Общая схема сервисов мониторинга приведена ниже:

vk-mail-description

Сервисы хранения данных

Системы хранения данных — в документе содержится информация о принципах работы системы хранения данных и описание сервисов хранения данных.

Технические требования

Требования к ресурсам серверного обородования приведены в документации по установке:

  • Полная установка — в документе описана процедура установки Почты VK WorkSpace в минимальной рабочей конфигурации на одну виртуальную машину.
  • Кластерная установка — в документе описана процедура кластерной установки Почты VK WorkSpace.
  • Тестовая установка — в документе описана тестовая установка Почты VK WorkSpace на одну виртуальную машину.
Была ли статья полезна?