Скрыть объявление

Внимание!


Наш телеграм-канал попал под массовую блокировку и, пока мы подготовили для вас резервный!


Подписывайтесь по этой ССЫЛКЕ

Скрыть объявление

На короткое время рассказываем где достать редкие курсы

Подробности ТУТ

Скрыть объявление

Сегодня — День рождения Интернета

Да, у интернета сегодня праздник.

Запускаем Акцию!

Все детали и условия ТУТ

Скрыть объявление

Мы обновили Telegram-бот!

Ссылку на новый бот и все детали ищите ТУТ и скорее подписывайтесь, чтобы не пропускать важные уведомления и новости форума

Скрыть объявление

Было ли у Вас такое, что Вы не могли найти курс? Если да, то напишите нам в Службу поддержки какой курс вам нужен и мы постараемся его найти.

Скрыть объявление

Пополняйте баланс и получайте при оплате складчин кэшбек в размере 10%

Запись

Микросервисы, как в BigTech 2.0 2025. Тариф Стандарт (Олег Козырев)

Тема в разделе "Курсы по программированию"

Цена:
59900 руб
Взнос:
1206 руб
Организатор:
Организатор

Список участников складчины:

1. Организатор
open
2
Записаться
  1. Организатор Организатор складчин

    Микросервисы, как в BigTech 2.0 2025. Тариф Стандарт (Олег Козырев)

    [​IMG]

    Научись разрабатывать высокопроизводительные, масштабируемые микросервисы, как в. ВК Yandex OZON СБЕР Тинькофф, и увеличь свои шансы на трудоустройство в BigTech или повышение грейда.

    Обучение подойдет для Junior и Middle backend-разработчиков

    Для курса нужно:
    • Знать основы Golang - все практические примеры будут на нем
    • Уметь пользоваться git, чтобы качественно работать с кодовой базой
    Курс адаптирован под частые проблемы backend-a, которые встречаются на работе
    Вся подкапотная микросервисов в одном обучении
    8 недель беспощадного кодинга


    Неделя 1 HTTP и gRPC: основы сетевого взаимодействия микросервисов

    С первой недели начнёшь собирать свой проект на микросервисной архитектуре. На практике освоишь два ключевых способа общения между сервисами — через HTTP и gRPC. Будешь писать API, запускать серверы, подключать клиентов и связывать между собой отдельные сервисы

    Блок 1. HTTP в Go: от простого сервера до автогенерации API
    • Что такое HTTP?
    • HTTP/1.1, HTTP/2 и HTTP/3 — зачем придумали и какие проблемы решают
    • Что такое REST API и какие у него ограничения
    • Создаём простой HTTP-сервер на chi
    • Первая middleware на Go: как расширить поведение ручек сервера
    • Что такое OpenAPI и как описывать схемы
    • Генерация HTTP API на основе OpenAPI схемы
    Блок 2. gRPC в Go: быстрый и типобезопасный способ общения сервисов
    • Как устроены gRPC и protobuf, где они применяются и в чём их сила
    • Пишем первый .proto-файл, учимся подключать зависимости
    • Генерация Go-кода через buf
    • Запускаем gRPC-сервер и подключаем к нему клиента
    • Что такое обратная совместимость и как её проверять при изменениях контракта (buf-breaking)
    • gRPC-Gateway: добавляем HTTP-интерфейс к gRPC-сервису
    • Автогенерация Swagger-описания из .proto
    • Валидация входящих данных через плагин protoc-gen-validate
    • Пишем свой первый gRPC-интерцептор
    Неделя 2 Архитектура и тесты: строим проект по-взрослому
    На этой неделе ты перестанешь писать «всё в одном файле» и начнёшь проектировать микросервисы по слоям: API, сервис, репозиторий. Освоишь архитектурные подходы и научишься писать unit-тесты — не формально, а так, чтобы реально ловить баги и не бояться менять код

    Блок 3. Архитектура проекта на Go: чисто, понятно, гибко
    • Что такое архитектура и зачем она нужна (луковая, гексагональная, чистая — простыми словами)
    • Какие бывают слои и как они связаны: API, сервис, репозиторий, клиенты
    • Как структурировать проект на Go
    • Создаём repository-слой: работа с базой через интерфейсы
    • Пишем service-логику: бизнес-правила без привязки к API
    • Разбираемся с API-слоем: как принимать и отдавать данные
    • Добавляем клиентские обёртки: например, вызов Payment Service из Order Service
    Блок 4. Unit-тестирование сервисов на Go: тесты, которые работают
    • Что такое юнит-тест и как он отличается от интеграционного
    • Тестируем простые функции: начинаем с базы
    • Как тестировать сервисную логику: используем тестовые сьюты
    • Как работать с моками: подключаем mockery и подменяем зависимости
    • Как замокать базу и зачем это может быть удобно
    • Выводим покрытие в README.md — пусть CI не зря работает
    Неделя 3 Базы данных и Docker: сервисы обретают долговременное хранилище
    Теперь твои сервисы начнут работать с настоящими базами данных — PostgreSQL и MongoDB. А чтобы не разворачивать всё вручную, ты научишься поднимать инфраструктуру через Docker Compose: базы, окружение, зависимости. Пока без упаковки самих сервисов — только окружение, как в настоящем проекте

    Блок 5. Docker и Docker Compose: инфраструктура как код
    • Что такое Docker и зачем он нужен
    • Пишем свой первый Dockerfile
    • Что такое docker-compose и как с его помощью поднимать инфраструктуру
    • Поднимаем базу данных и настраиваем сетевое взаимодействие между контейнерами
    Блок 6. Работа с PostgreSQL в Go: SQL, но по-человечески
    • Зачем микросервисам нужна реляционная база — и почему PostgreSQL
    • Запускаем PostgreSQL через Docker Compose
    • Создаём и накатываем миграции с помощью goose
    • Пишем SQL-запросы через pgx и squirrel
    • Интегрируем PostgreSQL в архитектуру сервиса: репозиторий, модели, конверторы
    Блок 7. Работа с MongoDB в Go: когда не нужен SQL
    • Что такое MongoDB и где она выигрывает у реляционных решений
    • Поднимаем MongoDB через Docker Compose и осваиваем базовые CRUD-операции
    • Интеграция MongoDB в структуру проекта: структура, запросы, подходы
    Неделя 4 Конфигурация, DI контейнер и интеграционные тесты: собираем всё воедино
    На этой неделе ты сделаешь свои сервисы гибкими, управляемыми и тестируемыми. Настроишь конфигурацию через переменные окружения, внедришь DI-контейнер, напишешь первые интеграционные и e2e-тесты, а ещё — начнёшь строить свою собственную платформенную библиотеку, как в настоящих проектах

    Блок 8. Конфигурация: как грамотно хранить параметры сервиса и передавать их при запуске
    • Что такое конфигурация и зачем выносить параметры из кода
    • Работа с переменными окружения (env) — самый частый способ настройки
    Блок 9. Платформенная библиотека: общие компоненты для всех
    • Что такое платформенная библиотека и зачем её выделять
    • Пишем health check для grpc сервера
    • Создаём логгер на основе zap и настраиваем формат логов, единый для всех сервисов
    • Разрабатываем удобный менеджер закрытия ресурсов для обеспечения graceful shutdown
    Блок 10. DI-контейнер: управляем зависимостями красиво
    • Что такое инверсия зависимостей и зачем она тебе
    • Как выглядит простой DI-контейнер на Go и как его написать
    • Интеграция DI в сервис: как это облегчает тестирование и конфигурирование
    Блок 11. Интеграционное и E2E-тестирование: идём глубже
    • Интеграционные тесты для базы: используем сьюты, структуру проекта и тестовые данные
    • End-to-End тесты сервисов: проверяем всю цепочку работы через ginkgo, gomega и testcontainers-go
    • Как запускать тесты автоматически и проверять результат до релиза
    Неделя 5 Kafka, события и асинхронная магия микросервисов
    Выйдешь за пределы прямых запросов и начнёшь выстраивать событийное взаимодействие между сервисами. Познакомишься с Apache Kafka, научишься поднимать брокер в KRaft-режиме, писать продюсеров и консьюмеров, обрабатывать события и строить устойчивые, слабо связанные микросервисы. Плюс — сделаешь сервисы Assembly и Notification, и подключишь Telegram-бота

    Блок 12. Apache Kafka в Go: шина событий своими руками
    • Что такое Apache Kafka и зачем она нужна микросервисам
    • Как работает Kafka в KRaft-режиме (без ZooKeeper)
    • Поднимаем Kafka с одним брокером через Docker Compose
    • Пишем продюсера и консьюмера на Go
    • Создаём consumer group и обрабатываем события
    • Интегрируем Kafka в архитектуру: DI, слои, обёртки
    Блок 13. Уведомления в Telegram: живой отклик системы
    • Как зарегистрировать Telegram-бота и подключить его к сервису
    • Используем шаблоны Go для генерации сообщений
    • Разделяем логику по слоям: бот, отправка, шаблоны, бизнес-логика
    Неделя 6 Redis и аутентификация: защищаем вход и храним сессии
    Реализуешь полноценную систему аутентификации. Разберёшься, как организовать вход по логину и паролю, как хранить сессии, и как проверять доступ к ручкам gRPC. На этой неделе в проект войдёт Redis как хранилище сессий с TTL и базовыми структурами данных

    Блок 14. Redis в Go: быстрое и удобное хранилище
    • Что такое Redis и зачем он нужен в микросервисной архитектуре
    • Какие структуры данных в Redis используются на практике: key-value, hashmap, set
    • Работа с TTL — автоматическое удаление сессий
    • Запуск Redis через Docker Compose
    • Интеграция Redis в сервис: клиент, DI, обёртка, сохранение и проверка сессий
    Блок 15. Аутентификация и авторизация: сессии, токены и права доступа
    • Идентификация, аутентификация, авторизация — в чём разница
    • Подходы к аутентификации: сессии против JWT — плюсы и минусы
    • Реализуем API для работы с JWT
    • Научимся сохранять сессию в Redis с TTL 24 часа
    • Добавим интерцептор, валидирующий сессию на gRPC-ручках
    Неделя 7 Об Observability не шутят: логи, метрики и трейсы
    Внедришь в систему все три столпа наблюдаемости: логи, метрики и трейсы. Научишься собирать данные через OpenTelemetry Collector, отображать метрики в Grafana, логи — в Kibana, а трейсы — в Jaeger. Настроишь алерты на важные события и выведешь нотификации в Telegram

    Блок 16. Мониторинг сервисов через OpenTelemetry
    • Как устроена система наблюдаемости: логирование, метрики, трассировка
    • Что такое OpenTelemetry и зачем нужен Collector
    • Сбор логов через zap → OpenTelemetry Collector → Elasticsearch → Kibana
    • Сбор метрик через Prometheus и OpenTelemetry Collector
    • Отображение данных в Grafana: метрики по сервисам и событиям
    • Подключение трейсов в Jaeger и визуализация прохождения запросов
    • Настройка алертов через Alertmanager с отправкой в Telegram
    • Вынос общих обёрток и инструментов в платформенную библиотеку
    Неделя 8 Envoy: единая точка входа и контроль доступа на входе
    Настроишь центральную точку входа в систему — через Envoy. Научишься маршрутизировать HTTP и gRPC-запросы, прокидывать заголовки, а главное — реализуешь проверку валидности сессии перед каждым запросом через вызов IAM-сервиса. Всё это будет работать в Docker Compose и интегрировано в проект

    Блок 17. Envoy как gateway: маршрутизация, защита, удобство
    • Что такое Envoy и зачем он нужен в микросервисной архитектуре
    • Поднимаем Envoy в Docker Compose и настраиваем как точку входа в систему
    • Маршрутизация HTTP-запросов: настройка маршрутов, хостов, портов
    • Маршрутизация gRPC-запросов с поддержкой grpc_json_transcoder
    • Интеграция IAM-проверки: Lua-скрипт, выполняющий запрос на валидацию сессии
    • Как спрятать все сервисы за Envoy и оставить наружу только одну точку доступа

    Преподаватель и автор курса:
    Олег Козырев

    NDASenior Engineer: разрабатывает платформу для контроля доступов к продуктовым сервисам
    - HighLoad++ 2024Спикер: выступал с докладом по декларативной платформе управления доступом и являлся информационным партнером конференции
    - Ozon Tech: ЛогистикаSenior Engineer: разрабатывал сервисы организации перевозок товаров продавца на склад
    - Ozon Tech: МоментыSenior Engineer: разрабатывал систему модерации «рилсов» внутри приложения Ozon
    - Ozon Tech: МаркетплейсMiddle Engineer: разрабатывал сервис, который отслеживает своевременность доставки посылок
    - Route 256Преподаватель и тьютор: менторил и преподавал курсы по построению микросервисов в школе Ozon Tech
    - YaTalksВедущий конференции: вел второй день конференции по программированию от Яндекса

    Продажник
    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
     
  2. Похожие складчины
    Загрузка...
Наверх