Назначение cервиса синхронизации Exchange Listener — синхронизация Creatio с почтовыми сервисами MS Exchange и IMAP/SMTP с использованием механизма подписки.
Схема работы
Обязательные компоненты cервиса синхронизации Exchange Listener:
- Основной модуль Exchange Listener.
- NoSQL СУБД Redis.
Схема работы сервиса синхронизации Exchange Listener представлена на рисунке ниже.
Модуль Exchange Listener
Назначение модуля Exchange Listener — используя учетные данные почтового ящика, создает подписку (subscription) для получения событий при поступлении новых писем. Открытая подписка остается в памяти компонента для обеспечения оперативной реакции на получение нового письма. При получении соответствующего события выполняется загрузка экземпляра письма.
NoSQL СУБД Redis
Назначение NoSQL СУБД Redis — создание масштабируемой и отказоустойчивой системы узлов-обработчиков. Хранилище Redis содержит информацию об обслуживаемых почтовых ящиках. Это позволяет любому контейнеру обработать запросы Creatio на создание новой подписки или проверить статус конкретной подписки, независимо от того, на каком узле открыта подписка.
Обязательные требования к Redis:
- Для версий приложения 7.18.2 и выше, авторизированный доступ сервиса Exchange Listener к Redis.
- Выделена отдельная база данных для работы сервиса Exchange Listener.
Масштабируемость
Обработка запросов по умолчанию выполняется отдельными узлами типа StatefulSet из расчета 1 реплика обработчика на 50 активных почтовых ящиков. За количество реплик отвечает параметр replicaCount. При необходимости можно увеличить количество обработчиков, указав необходимое значение при установке. Возможна настройка автоматического масштабирования по количеству активных подписок.
Совместимость с продуктами Creatio
Сервис синхронизации Exchange Listener версии 1.0 (поддержка MS Exchange) совместим со всеми продуктами Creatio версий 7.15.2 и выше.
Сервис синхронизации Exchange Listener версии 2.0 (поддержка IMAP/SMTP) совместим со всеми продуктами Creatio версий 7.16 и выше.
Варианты установки
Для развертывания сервиса и обеспечения работы приложения на продуктовой среде предпочтительным способом является использование оркестратора Kubernetes и пакетного менеджера Helm. Инструкция по развертыванию сервиса с использованием Kubernetes содержится в статье Развернуть сервис синхронизации с использованием Kubernetes.
Для быстрого развертывания в среде разработки можно использовать Docker. Инструкция по развертыванию сервиса с использованием Docker содержится в статье Развернуть сервис синхронизации в Docker.
Для развертывания сервиса достаточным условием является использование in-memory хранилища.