#вопросыиответы
Вопрос. Есть вариант взаимодействия двух ИС по api, а есть через брокер (кролик, кафка и т.д). В чем принципиальные отличия? Как я понимаю, в первом случае в одной ИС (например на бэкенде МП) нужно написать какой-то контроллер, отвечающий за определенный сервис. А в случае с брокером как? По идее должно быть примерно тоже самое. А если так, то в чем смысл вообще от брокера?
Ответ
основное отличие - синхронное или асинхронное взаимодействие. Когда по API - ты метод вызвал и сидишь, ждешь ответа. А через брокер - ты сообщение отправил и пошел дальше. Разница примерно как общение по телефону или через мессенджер :)
смысл брокера в том, что, например, если связь прервана, то ты до собеседника не доорешься, твой вызов потерян и ты должен сам думать о том, а не надо ли перезвонить/вызвать еще раз, когда это делать и т.п. А с брокером - ты сообщение туда закинул - и свободен. Брокер берет на себя задачу доставки сообщения до адресата, когда он снова будет "в сети"
Post #17
142