Микросервисы на Python: asyncio, Starlette и RabbitMQ

42 участника

О чём курс

Вам нужен инструмент для построения масштабируемых систем, где компоненты общаются независимо и эффективно — здесь разбирают создание асинхронных микросервисов с нуля. Вы пройдете путь от разработки первого веб-сервиса на Starlette до реализации полноценной системы, где микросервисы обмениваются данными через RabbitMQ и выполняют тяжелые вычисления в фоновом режиме.

Внутри разбираются ключевые аспекты современной разработки:

  • Работа с асинхронностью в Python через библиотеку asyncio.
  • Настройка брокера RabbitMQ и понимание принципов взаимодействия микросервисов.
  • Реализация паттерна RPC (Remote Procedure Call) для вызова функций между независимыми сервисами.
  • Валидация входных данных с использованием Pydantic и отделение бизнес-логики от сетевого взаимодействия.
  • Написание unit-тестов с помощью pytest для обеспечения надежности системы.

Курс ориентирован на Python-разработчиков, которые хотят уйти от монолитной архитектуры к микросервисной. На выходе вы получите работающий прототип системы, состоящий из взаимосвязанных узлов: сервиса для обработки сообщений, воркера для долгих задач и API на Starlette.

Программа обучения

  • Занятие 1: Создание микросервиса main на фреймворке Starlette, использование aiocron.
  • Занятие 2: Работа с брокером RabbitMQ, создание микросервиса messager, тестирование отправки сообщений через веб-интерфейс.
  • Занятие 3: Связка микросервисов main и messager, отправка данных в формате JSON.
  • Занятие 4: Создание микросервиса worker для эмуляции долгих задач (алгоритм PoW), взаимодействие через RabbitMQ.
  • Занятие 5: Реализация паттерна RPC (Remote Procedure Call) для удаленного вызова функций между сервисами.
  • Занятие 6: Валидация входных данных через Pydantic, отделение бизнес-логики, тестирование с помощью Pytest.
Складчина создана 21 октября 2021 г. · описание обновлено 23 марта 2026 г.

Другие материалы автора 1

AS Andrey Sobolev Все материалы
102 ₽ 1 190 ₽