Урок пройдёт в формате System Design. Вместе с преподавателем спроектируешь маркетплейс наподобие Ozon, выберешь границы сервисов и способы их взаимодействия
Параллелизм в Python на примерах из реальной разработки
Продолжая пользоваться сайтом, вы соглашаетесь с использованием куки и обработкой данных в соответствии с политикой конфиденциальности.
Принять
Микросервисы позволяют независимо развивать и масштабировать части приложения. Вместе с этим появляются сетевые вызовы, отдельные развёртывания и сложности с согласованностью данных. По статьям трудно понять, когда эти затраты оправданы, какую проблему решит переход и где провести границы между сервисами.
Один сервис может вызвать другой через API или отправить сообщение через брокер. В примерах оба варианта выглядят просто, но в проекте нужно решить, ждать ли ответ сразу, что делать при недоступности соседнего сервиса и как обрабатывать повторные сообщения.
На схеме запрос дошёл, сервис ответил, операция завершилась. В реальной системе платёж может пройти, а ответ — потеряться по дороге. Сервис заказов повторит запрос, и деньги спишутся ещё раз. Упрощённые примеры редко объясняют, как найти причину такого сбоя и защитить систему от повторного выполнения операции.