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