Интеграция VtigerCRM с RabbitMQ

Интеграция VtigerCRM с RabbitMQ

Сегодня я подготовил для вас не простую статью. Я записал для вас видео с подробной инструкцией - как подключить систему очередей к Vtiger и сделать его по-настоящему асинхронным.

Сегодня я подготовил для вас не простую статью. Я записал для вас видео с подробной инструкцией - как подключить систему очередей к Vtiger и сделать его по-настоящему асинхронным.

Что такое RabbitMQ и для чего он нужен, я подробно описал в предыдущей статье. В этой статье и видео мы рассмотрим всё на практике - соединим Vtiger и RabbitMQ, покажем как обмениваться данными между сервисами. В нашем примере мы покажем простейшие, но практические примеры. Мы будем отправлять созданные контакты внешнему сервису, а также сохранять новые контакты, созданные во внешнем сервисе. В конец мы покажем, как благодаря системы очередей добиться асинхронного режима.

Преимущество RabbitMQ в его простоте и быстроте. В ежедневном общении люди приветствуют друг друга, обмениваются информацией, прощаются или заканчивают общение и идут дальше. Низкоуровневые TCP-соединения ведут себя соответствующим образом, но не легковесные каналы на RabbitMQ. Приложения, которые обмениваются сообщениями с системой очередей, должны установить постоянное соединение с брокером сообщений. Как только соединение установлено, создаётся канал, по которому осуществляется отправка или получение сообщений.

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

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

Данное видео - одно из четырёх в серии курса "Интеграция VtigerCRM с RabbitMQ". В этом видео мы развернём проект, подключим RabbitMQ к VtigerCRM, создадим тестовый проект на Laravel и попробуем отправить первые контакты из Vtiger в Laravel через RabbitMQ.

Сообщения можно отправлять и принимать через различные языки программирования, платформы и операционные системы. Вы можете выбрать из огромного спектра библиотек, но в нашем демо-примере мы использовали php-amqplib.

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

Канал не существует в отдельности. Всегда в рамках какого-то соединения.

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

Большая часть исключений выбрасывается на урочне канала, а не соединения.

Для быстрого погружения в тему, мы затронули следующие аспекты в этом курсе:

  • Разворачивание проекта и настройка Vtiger для дальнейшей разработки.
  • Быстрое создание клиентского приложения на Laravel.
  • Отправляем контакты, созданные на Laravel в Vtiger через очередь сообщений.
  • Отправляем изменения, произведённые в CRM в клиентские приложения.
  • Превращаем Vtiger в асинхронную систему, тем самым ускоряя её работу.

Приятного просмотра!

Если вы посмотрели видео, рекомендую перейти ко второму эпизоду, где мы рассматриваем обновление данных в Laravel