REST + gRPC: Идеальная архитектура для Highload сервиса на Python

👇 Ссылки и полезные материалы: 📢 Мой Telegram-канал с анонсами и полезной выжимкой: «Матчасть Ахтямова» (https://t.me/akhtyamov_base) 👨💻 Весь код и материалы семинара будут доступны в репозитории курса. В этом практическом семинаре курса «Современные технологии разработки сервисов анализа данных» мы разбираем фундаментальные подходы к построению микросервисной архитектуры на Python. С вами Павел Ахтямов, и сегодня мы пишем наш первый прототип стримингового сервиса для обработки данных (агрегатор новостей). Мы обсудим, почему для внутреннего взаимодействия микросервисов лучше использовать gRPC вместо классического REST, настроим виртуальное окружение, напишем клиент на FastAPI и проведем нагрузочное тестирование с помощью Locust, сравнив синхронный и асинхронный подходы. 0:00 - Введение: REST vs gRPC и публичные API 1:05 - Легенда проекта: NLP-агрегатор новостей и стриминг данных 5:12 - Выбор пакетного менеджера: почему Poetry, а не pip? Сравнение с UV 12:55 - Файл pyproject.toml и конфигурация сборки 13:28 - Использование Makefile для автоматизации (генерация протоколов) 16:49 - Protocol Buffers: синтаксис, строгая сериализация и контракты 24:00 - Пишем асинхронный gRPC-сервер на Python 31:41 - Разработка клиента (Gateway) на FastAPI 41:02 - Разбор архитектуры приложения (схема взаимодействия сервисов) 47:10 - Нагрузочное тестирование с Locust: пишем скрипт симуляции юзеров 50:01 - Запуск тестов: почему 1 RPS — это проблема блокирующего кода? 52:20 - Добавляем асинхронность: ThreadPool / ProcessPool, разгоняем сервер 59:57 - Обсуждение домашнего задания: проект «Серебро» (мультимодальные источники) 1:04:00 - Организационные вопросы по студенческим проектам

Иконка канала Без воды про Камеру
13 подписчиков
12+
1 просмотр
10 дней назад
12+
1 просмотр
10 дней назад

👇 Ссылки и полезные материалы: 📢 Мой Telegram-канал с анонсами и полезной выжимкой: «Матчасть Ахтямова» (https://t.me/akhtyamov_base) 👨💻 Весь код и материалы семинара будут доступны в репозитории курса. В этом практическом семинаре курса «Современные технологии разработки сервисов анализа данных» мы разбираем фундаментальные подходы к построению микросервисной архитектуры на Python. С вами Павел Ахтямов, и сегодня мы пишем наш первый прототип стримингового сервиса для обработки данных (агрегатор новостей). Мы обсудим, почему для внутреннего взаимодействия микросервисов лучше использовать gRPC вместо классического REST, настроим виртуальное окружение, напишем клиент на FastAPI и проведем нагрузочное тестирование с помощью Locust, сравнив синхронный и асинхронный подходы. 0:00 - Введение: REST vs gRPC и публичные API 1:05 - Легенда проекта: NLP-агрегатор новостей и стриминг данных 5:12 - Выбор пакетного менеджера: почему Poetry, а не pip? Сравнение с UV 12:55 - Файл pyproject.toml и конфигурация сборки 13:28 - Использование Makefile для автоматизации (генерация протоколов) 16:49 - Protocol Buffers: синтаксис, строгая сериализация и контракты 24:00 - Пишем асинхронный gRPC-сервер на Python 31:41 - Разработка клиента (Gateway) на FastAPI 41:02 - Разбор архитектуры приложения (схема взаимодействия сервисов) 47:10 - Нагрузочное тестирование с Locust: пишем скрипт симуляции юзеров 50:01 - Запуск тестов: почему 1 RPS — это проблема блокирующего кода? 52:20 - Добавляем асинхронность: ThreadPool / ProcessPool, разгоняем сервер 59:57 - Обсуждение домашнего задания: проект «Серебро» (мультимодальные источники) 1:04:00 - Организационные вопросы по студенческим проектам

, чтобы оставлять комментарии