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

Владелец адреса и проверка подключения

В учебном примере склад хочет получать уведомления об изменении состава отгрузки. Менеджер предлагает адрес приёмника, но это ещё не подтверждение права склада на подключение. Нужно установить, кто вправе оформить подписку, какие события ему доступны и каким способом подтверждается контроль над адресом.

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

Запишите допустимые адреса и правила их проверки. Сервис отправки не должен обращаться к произвольному внутреннему ресурсу только потому, что пользователь указал его в форме. Конкретные ограничения адресов и сетевого доступа относятся к проекту безопасности; их нельзя заменить общим признаком «URL выглядит правильно». Пробное событие должно обходиться без рабочих персональных данных.

Проверка подлинности входящего сообщения

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

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

Для нашего склада событие относится к подписке warehouse-7 и определённой организации. Сообщение другой организации не становится разрешённым после успешной технической проверки отправителя. Эти границы дополняют контракт событий: доступ и смысл обработки должны быть согласованы вместе.

Смена адреса и прекращение подписки

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

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

Таблица 1 · Учебный артефакт
ПереходКто подтверждаетЧто фиксируют
Предложен адрес → подключениеУполномоченный владелец и технический получательОрганизацию, набор событий, проверенный адрес
Активная подписка → новый адресВладелец измененияНовую проверку и границу переключения
Активная подписка → паузаОтветственный за потокСудьбу накопленных событий и условие возврата
Подписка → прекращенаУполномоченный инициаторОснование, границу остановки и результат

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

Контроль повторного подключения

Повторная настройка должна отвечать на вопрос: возобновляется прежняя подписка или создаётся новая? Это важно для накопленных событий, истории подтверждения адреса и распознавания повторов. Совпадающие URL не доказывают, что два подключения относятся к одной организации или одному набору событий.

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

Карта подписки должна хранить инициатора, разрешённые события, проверку адреса, состояния и основания переходов. Она помогает разобрать как случайный дубль подключения, так и запрос на остановку. Для первого обсуждения достаточно этой карты и обезличенного примера события; рабочие доступы передают по отдельному согласованному порядку.

Обсудить подключение получателя событий.