Скоро! Микросервисы, как в BigTech [Тариф Без проверки] [Олег Козырев]

Статус
В этой теме нельзя размещать новые ответы.

Складчина: Микросервисы, как в BigTech [Тариф Без проверки] [Олег Козырев]​

Микросервисы, как в BigTech [Тариф Без проверки] [Олег Козырев]


Описание:

Курс адаптирован под частые проблемы backend-a, которые встречаются на работе.
Обучение подойдет для Junior и Middle backend-разработчиков
Узнаешь необходимый стек для разработки микросервисов (Go, http, gRPC, Redis, Postgres, Prometheus и др.) и сможешь откликаться на классные вакансии
Узнаешь лучшие практики, нюансы и лайфхаки построения микросервисов, которые применяются в Yandex, Ozon, Avito, СБЕР, Tinkoff и др.
Напишешь высокопроизводительные микросервисы с масштабируемым кодом и разработаешь проект с использованием своих платформенных библиотек
Научишься использовать протокол gRPC в Golang-приложениях
Освоишь работу с PostgreSQL, написав свои компоненты-заготовки, упрощающие разработку
На практике научишься применять архитектурные подходы построения микросервисов
Освоишь паттерны отказоустойчивости микросервисов
Реализуешь межсервисное взаимодействие, систему аутентификации и авторизации
Обеспечишь мониторинг своего сервиса и покроешь его тестами, чтобы исключить ошибки в работе
Для курса нужно:
- знать основы Golang - все практические примеры будут на нем
- уметь пользоваться Git, чтобы качественно работать с кодовой базой

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

[Тариф Без проверки]
  • 18 практических уроков
  • Доступ к курсу на 2 года
  • Домашка после лекций
  • Дипломный проект
  • Q&A-сессии и live-разборы домашек
  • Доп.модуль от HR-специалиста
  • Доп.модуль по торгу за ЗП

Спойлер: 'Программа курса
Неделя 1. Знакомство, протоколы http и gRPC
  • Что такое протокол http
  • Напишем http-сервер
  • Что такое REST
  • Чем плох json
  • Что такое protobuf
  • Чем плох http 1.1
  • Что такое gRPC?
  • Пишем первый proto-файл
  • Генерируем proto-файл
  • Реализуем простую логику ручек
  • Поднимем gRPC-сервер со своим API
  • Реализуем gRPC-клиент
Неделя 2. Deploy сервиса в облако и работа с PostgreSQL
  • Регистрируемся в Selectel и покупаем свой сервер
  • Собираем приложение и запускаем его на сервере
  • Что такое Docker
  • Разберемся, в чём суть контейнеризации, какая разница между ней и виртуализацией
  • Пишем Docker файл для приложения и собираем его
  • Создаем registry для docker образов в Selectel и загружаем наш образ
  • Устанавливаем docker на наш сервер
  • Запускаем приложение из нашего образа
  • Что такое GitHub Actions
  • Пишем actions для деплоя и запуска нашего приложения
  • Что такое config и почему их бывает несколько
  • Пишем config’и для разных сред
  • Пишем обработчик config’а
  • Что такое Postgres
  • Запуск Postgres в Docker Compose
  • Что такое миграции
  • Пишем миграции и накатываем их с помощью утилиты goose
  • Простые запросы в Postgres с помощью pgx
  • Пишем запросы с помощью билдера squirrel
  • Заворачиваем накатку миграций в отдельный Docker контейнер
Неделя 3. Архитектура проекта
  • Что такое слои и зачем они нужны
  • Пишем repo-слой
  • Пишем сервисный слой
  • Пишем модели и конверторы
  • Пишем инициализацию всех зависимостей
  • Что такое DI контейнер
  • Пишем свой DI контейнер
  • Недостаток работы с pgx напрямую
  • Пишем свою обертку над клиентом к БД
  • Что такое транзакции
  • Недостаток работы с транзакциями через pgx
  • Пишем свой transaction manager
  • Встраиваем transaction manager в свою обертку над клиентом к БД
Неделя 4. Тестирование, кэширование и разработка своей платформенной библиотеки
  • Зачем нужны тесты
  • Какие виды тестов бывают
  • Пишем юнит-тесты для простого кода
  • Пишем юнит-тесты для кода с моками зависимостей
  • Что такое кэширование и зачем оно нужно
  • Redis и как с ним работать: простые примеры
  • Интегрируем клиента Redis в чистую архитектуру
  • Что такое платформенная библиотека
  • Создаем свою платформенную библиотеку
Неделя 5. Дополнительные опции экосистемы gRPC и асинхронное взаимодействие через Apache Kafka
  • В чем проблема gRPC и что такое grpc-gateway
  • Описываем опции gateway в proto-файле и поднимаем http-сервер для работы с gateway
  • Описываем опции валидации в proto-файле, применяем сгенерированную валидацию и пишем валидационный интерцептор
  • Описываем proto-файл со swagger, используем результат генерации в Postman и поднимаем отдельный swagger-сервер
  • Что такое Apache Kafka и в каких случаях его стоит применять
  • Разбираемся с топиками, партициями, продюсерами и консьюмерами
  • Пишем простые примеры продюсера и консьюмера
  • Интегрируем продюсера и консьюмера в чистую архитектуру
Неделя 6. Безопасность сетевых взаимодействий между серверами
  • Что такое TLS
  • Генерируем сертификаты
  • Подключаем сертификаты на сервере
  • Подключаем сертификаты на клиенте
  • Что такое JWT
  • Описываем контракты аутентификационного API
  • Пишем генерацию access токена
  • Пишем генерацию refresh токена
  • Пишем проверку валидности токена
  • Учимся передавать и принимать токен через контекст
  • Пишем серверный и клиентский интерцепторы для работы с токеном
Неделя 7. Мониторинг системы
  • Что такое логи
  • Zap-логгер
  • Пишем обертку над zap-логгером
  • Что такое метрики
  • Разворачиваем prometheus в Docker-compose
  • Поднимаем сервер для метрик и организуем их сбор
  • Смотрим метрики и интерпретируем их на примере RPS
  • Что такое Grafana
  • Разворачиваем Grafana в Docker-compose
  • Импортируем метрики из prometheus в Grafana
  • Что такое трейсинг
  • Разворачиваем Jaeger в Docker сompose
  • Организуем сбор трейсов
Неделя 8. Паттерны отказоустойчивости приложения и потоковая обработка данных
  • Что такое timeout
  • Применяем timeout через контекст
  • Что такое Rate Limiter
  • Пишем свой Rate Limiter
  • Что такое Circuit Breaker
  • Подключаем готовую реализацию Circuit Breaker
  • Система ошибок в gRPC
  • Обсуждаем дизайн системы ошибок для бизнес логики
  • Пишем реализацию валидатора бизнес логики
  • Пишем обработчик ошибок
  • Пишем интерцептор для конвертации бизнес ошибок в транспортные
  • Что такое стриминговые ручки в gRPC
  • Добавляем стриминговую ручку в API
  • Что такое cli-утилита
  • Пишем свою cli-утилиту для связи с сервером

Скрытая ссылка

Материал «Микросервисы, как в BigTech [Тариф Без проверки] [Олег Козырев]», возможно, скоро появится на SHAREWOOD.
Воспользуйтесь поиском, может быть, он уже опубликован.
 
Статус
В этой теме нельзя размещать новые ответы.
Последние темы автора
SHAREWOOD
Ответы
0
Просмотры
2
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
9
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
9
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
27
SHAREWOOD
SHAREWOOD
Похожие темы
SHAREWOOD
Ответы
0
Просмотры
2K
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
2K
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
2K
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
2K
SHAREWOOD
SHAREWOOD
Сверху Снизу