====== Холивара для. API vs шина сообщений ====== Мысли, почему система, где сервисы общаются через общую шину сообщений проще, чем где общение идет через API. В системе с API/REST системы синхронно друг к другу обращаются, для этого: - требуется обработка ошибок на всех уровнях (допустим процесс А вызывает Б а тот вызывает В) - плюс обработка таймаутов - плюс логгирование ошибок (pl7: логированием занимается вызывающая сторона) т.е в вызывающей стороне должно быть понимание какие ошибки могут произойти на вызываемой стороне как об этом лучше сообщить и что делать вообще В системе с сообщениями, у процесса есть шина, он кладет в нее запрос. В результате может появится: - ответ с результатом - ошибка (уже сформированная обрабатывающей стороной, в едином формате более менее) - или таймаут (который, как мне кажется, будет более естественно выглядеть в этой конфигурации). А процесс, который обрабатывает сообщения, сам занимается из получением, сам их обрабатывает, сам обрабатывает свои внештатные ситуации (про которые он в курсе), сам ведет свои логи и знает куда и как сообщать об ошибках. Поэтому мне и кажется, что система на общей шине будет проще и легче, чем система построенная на API. ~~OWNERAPPROVE~~ /*Не удаляйте эту строку и ниже!*/ {(rater>id=1|name=Прочитал_обсуждения.blog:Холивара для. API vs шина сообщений|type=vote|trace=user|tracedetails=1)} ~~DISCUSSION~~