Холивара для. API vs шина сообщений

Мысли, почему система, где сервисы общаются через общую шину сообщений проще, чем где общение идет через API.

В системе с API/REST системы синхронно друг к другу обращаются, для этого:

  1. требуется обработка ошибок на всех уровнях (допустим процесс А вызывает Б а тот вызывает В)
  2. плюс обработка таймаутов
  3. плюс логгирование ошибок (pl7: логированием занимается вызывающая сторона) т.е в вызывающей стороне должно быть понимание какие ошибки могут произойти на вызываемой стороне как об этом лучше сообщить и что делать вообще

В системе с сообщениями, у процесса есть шина, он кладет в нее запрос. В результате может появится:

  1. ответ с результатом
  2. ошибка (уже сформированная обрабатывающей стороной, в едином формате более менее)
  3. или таймаут (который, как мне кажется, будет более естественно выглядеть в этой конфигурации). А процесс, который обрабатывает сообщения, сам занимается из получением, сам их обрабатывает, сам обрабатывает свои внештатные ситуации (про которые он в курсе), сам ведет свои логи и знает куда и как сообщать об ошибках.

Поэтому мне и кажется, что система на общей шине будет проще и легче, чем система построенная на API.

~~OWNERAPPROVE~~

Прочитал обсуждения.blog Холивара для. API vs шина сообщений
Yes(1) No(0) Clear

Yes:
,

No: