Я разрабатываю систему на основе событий, которая включает в себя две службы: A и B.Автобус сообщений и события - как реагировать?
Когда пользователь обновляет ресурс в службе A, используя PUT, эта служба отправит уведомление в очередь сообщений. Служба B считывает из этой очереди, а затем необходимо обновить состояние одного из своих ресурсов на основе изменений, которые произошли на ресурс в А.
Как я понимаю, есть два способа справиться с этим:
- Сообщение, которое служба A посылает, содержит поле с измененным ресурсом и с чем оно изменилось. Когда служба B потребляет это сообщение, она использует эту информацию для определения состояния своего ресурса.
- Сообщение, которое отправляет служба A, содержит только ссылку на измененный ресурс. Когда служба B потребляет это сообщение, она вызывает эту ссылку для извлечения текущего состояния ресурса A для собственной обработки.
Какой метод вы все находите более приятным? Я склоняюсь к # 1 из-за получателя сообщения, не нуждающегося в возможности иметь внеполосное знание службы B (да, у него есть ссылка, но у нее могут быть неправильные заголовки, правильный HTTP-глагол и т. Д.), и уменьшить количество слухов.
Любые идеи были бы оценены!