Какова архитектура коммуникации между сервисами?

Я еще учусь, поэтому мой вопрос направлен не на решение, а на понимание того, куда мне дальше копать чтобы решить задачу.

У меня есть задача организовать работу двух не моих сервисов (СРМ и маркетинговая аналитика). Конечный результат должен быть таким, что, например, при создании новой сделки в СРМ - второй сервис отправляет электронное сообщение.

Сейчас я вижу решение таким, что Python скрипт размещен на сервере и при получении данных от сервиса А, обрабатывает их и отправляет АПИ запрос на сервис Б.

Но я не знаю подробностей процесса и гугл не подсказал каких-то паттернов решения. Подскажите куда капать, как называется архитектура таких решений или что-нибудь, что поможет. Буду очень благодарен!
  • Вопрос задан
  • 315 просмотров
Решения вопроса 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
В зависимости от навороченности CRM все решается на ее уровне.
Отправка электронной почты при создании элемента, есть практически во всех.
В нормальных можно создать workflow которое включает в себя более 100ни позиций.
То есть и отправка почты и создание новых элементов и запись в БД и вызов какого либо сервиса через REST.
В случае же вашего решения у вас будет лаг на опрос задач, допустим что даже вы долбитесь каждые 10 сек, в общем поговорите с владельцем сервера инициатора. Возможно у него есть callback что бы отправлять уведомления вам, именно этот вариант и лучше использовать что бы вам приходили уведомления а не вы запрашивали изменения
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@rPman
работу двух не моих сервисов
собственно все проблемы тут.

не твои сервисы, значит если их разработчик не продумал каких то механизмов взаимодействия друг с другом, хотя бы в пределах одной машины или в полуручном режиме (например участие пользователя тут экспорт и импорт), то тебе нужны с обоих сторон промежуточные инструменты, которые будут
* проводить взаимодействие
* совершать доставку
* мониторить проблемы

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

Плюс к этому еще мониторинг/уведомление о проблемах, если операция периодическая и совершается в автоматическом режиме, нужно сообщать о не завершенности ответственному лицу максимально оперативно и подробно... фраза - 'произошла ошибка 134' - неправильное сообщение, верное - 'обновление данных о сотрудниках не завершено по причине обнаружении дублирующих значений фио и день рождение Василий Иванович Пересменкин 13.02.00 для разных сотрудников', и в идеале по каждой ошибке предлагать какое то решение.
Ответ написан
Комментировать
@12rbah
Но я не знаю подробностей процесса и гугл не подсказал каких-то паттернов решения.
Тут особо и паттерны и не нужны, по сути просто к сервисам дописать апи
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы