Перейти к основному содержимому

Дополнительные аспекты интеграции

Всем

Дополнительные аспекты интеграции

Push-модель (от англ. "push" — "толкать") — это подход, при котором сервер отправляет данные клиенту без явного запроса от клиента. Клиент подписывается на события или уведомления, а сервер автоматически передаёт данные, как только они становятся доступны. Примерами являются вебхуки, WebSockets и SSE. Сравнение polling, long polling, SSE и webhook — в Polling, Long Polling, SSE и Webhook и Push, Pull, Webhooks.

Сценарии-вебхуки (Webhooks) — это механизм, который позволяет одной системе уведомлять другую систему о событиях в реальном времени. Вместо того чтобы клиентская система периодически запрашивала обновления (например, через API), серверная система отправляет HTTP-запрос на предопределённый URL клиента, когда происходит какое-либо событие.

Как работают вебхуки:

  • клиентская система регистрирует свой URL (конечную точку) на серверной системе.
  • когда на сервере происходит событие (например, новая транзакция или изменение данных), он отправляет HTTP-запрос (обычно POST) на этот URL.
  • клиентская система получает данные и обрабатывает их.

Вебхуки используются, для уведомлений, к примеру, о завершении платежа, о создании лида в CRM-системе. При таком подходе, данные передаются сразу после события, нет необходимости в постоянных запросах к API (такое явление называется polling). Вебхуки используют стандартный HTTP-протокол.

image-16.png

Pull-модель (от англ. "pull" — "тянуть") — это подход, при котором клиент периодически запрашивает данные с сервера. Сервер не инициирует передачу данных, пока клиент не сделает запрос. Примерами является как раз polling, когда клиент регулярно отправляет запросы на сервер, и REST API.

Push-модель

image-17.png

Pull-модель

image-18.png

Apache Kafka использует Pull-модель (потребители самостоятельно запрашивают данные с сервера, подписываясь на топики и "тянут" данные из топиков), а RabbitMQ использует Push-модель (брокер отправляет сообщения потребителям, "толкает" в потребителей, когда они готовы их обработать).


Основа по протоколу

Базовый разбор HTTP и HTTPS находится в отдельной статье — HTTP как основа веб-интеграций.