- ANIKA - система хранения, обработки и передачи действий клиентов компаний-партнёров
Топики для обмена данными: Каждая компания-партнер может создать несколько "топиков" - тематических каналов, в которые через API она будет отправлять данные, потенциально полезные для других партнеров. Топики позволяют структурировать данные и упрощают процесс их обмена.
Контроль доступа: Компания, отправляющая данные, может устанавливать список партнеров, которым разрешено просматривать данные из определенного топика. Это обеспечит безопасность и конфиденциальность передаваемой информации.
Автоматическое получение данных: Партнеры, которым разрешен доступ к данным из топика, могут подписаться на автоматическое получение этих данных. Данные будут отправляться на указанный API-endpoint, что позволяет моментально интегрировать их в собственные системы и оперативно реагировать на новые возможности.
Выбор автомобиля: Клиент решил приобрести автомобиль в компании "АвтоЭкспресс". Он посетил автосалон и выбрал подходящую машину.
Отправка данных: "АвтоЭкспресс" отправляет информацию о выборе клиента в топик "Выбор машины" на платформе ANIKA.
Получение данных: Банк "ЭкспоБанк", подписанный на этот топик, мгновенно получает данные на свой API-endpoint. Теперь "ЭкспоБанк" знает, что этот клиент заинтересован в покупке автомобиля и может предложить ему кредит на выгодных условиях.
- Удобство и эффективность: Система топиков и автоматическая рассылка данных упрощают обмен информацией между партнерами.
- Безопасность и конфиденциальность: Гибкие настройки доступа обеспечивают надежную защиту данных.
- Быстрая интеграция: API-интерфейсы позволяют легко интегрировать полученные данные в существующие системы и приложения.
- Существенное снижение расходов на лидогенерацию: ANIKA помогает компаниям уменьшить затраты на привлечение новых клиентов. Благодаря автоматической передаче данных и интеграции с партнерскими системами, компании могут оперативно реагировать на действия клиентов и предлагать им релевантные продукты и услуги. Это снижает необходимость в дорогостоящих маркетинговых кампаниях и рекламных стратегиях, направленных на привлечение новых клиентов, поскольку данные о потенциальных клиентах поступают напрямую от партнеров.
Таким образом, ANIKA решает проблему коммуникации между компаниями-партнерами и дает им возможность быстро привлекать подходящих для них клиентов.
Система состоит из нескольких ключевых компонентов, работающих в связке для обработки запросов пользователей и выполнения необходимых операций. Входящие запросы проходят через API Gateway (Nginx), который проксирует их на соответствующие микросервисы.
- Функция: Принимает все входящие HTTP-запросы от клиентов и проксирует их в соответствующие микросервисы.
- Процесс:
- Получает запрос от клиента.
- Прокси запрос на микросервис авторизации для проверки подлинности.
- Получает user_id и partner_id из микросервиса авторизации.
- Добавляет user_id и partner_id в заголовки запроса.
- Прокси запрос в нужный микросервис для выполнения операции.
- Функция: Проверяет JWT токены и извлекает user_id и partner_id.
- Технологии: PostgreSQL для хранения данных о пользователях.
- Процесс:
- Nginx отправляет запрос с JWT токеном в микросервис авторизации.
- Микросервис декодирует и проверяет токен.
- Извлекает user_id и partner_id из токена.
- Возвращает user_id и partner_id в ответе.
- Nginx добавляет эти данные в заголовки запроса и перенаправляет его дальше.
- Функция: Управляет темами (CRUD операции) и взаимодействует с PostgreSQL.
- Технологии: PostgreSQL для хранения данных о темах.
- Процесс:
- Запросы, связанные с операциями по темам, перенаправляются через Nginx в микросервис топиков.
- Микросервис выполняет соответствующую CRUD операцию в базе данных PostgreSQL.
- Возвращает результат операции обратно через Nginx к клиенту.
- Функция: Обрабатывает сообщения (отправка, поиск) и взаимодействует с MongoDB.
- Технологии: MongoDB для хранения сообщений.
- Процесс:
- Запросы на отправку или поиск сообщений перенаправляются через Nginx в микросервис сообщений.
- Микросервис выполняет необходимую операцию с использованием MongoDB.
- Для отправки сообщений микросервис сообщений использует вебхуки, полученные через микросервис топиков. Все сообщения отправляются по необходимым ссылкам вебхуков.
- Если требуется, микросервис сообщений взаимодействует с микросервисом топиков для получения информации о доступных темах и правах доступа.
- Результат операции возвращается клиенту через Nginx.
-
Микросервис сообщений и микросервис топиков:
- Микросервис сообщений использует вебхуки, предоставленные микросервисом топиков, для отправки сообщений.
- Микросервис сообщений может запросить информацию о темах, правах доступа и других данных, связанных с темами, у микросервиса топиков.
-
Отсутствие взаимодействия:
- Микросервис авторизации изолирован от других микросервисов и не взаимодействует напрямую с микросервисом топиков или микросервисом сообщений.
-
Запросы от клиента:
- Клиент → Nginx (API Gateway)
- Nginx → Микросервис авторизации (проверка JWT токена)
- Микросервис авторизации → Nginx (response с user_id и partner_id)
- Nginx → Микросервис топиков или Микросервис сообщений (в зависимости от типа запроса)
-
Микросервис топиков:
- Микросервис топиков → База данных PostgreSQL
- База данных PostgreSQL → Микросервис топиков (response)
- Микросервис топиков → Nginx (response)
-
Микросервис сообщений:
- Микросервис сообщений → База данных MongoDB
- Микросервис сообщений → Микросервис топиков (для получения вебхуков, пермишенов, топиков, если требуется)
- Микросервис топиков → Микросервис сообщений (вебхуки)
- Микросервис сообщений → Nginx (response)