ДОСТУПНО Микросервисы, как в Bigtech-компаниях [Balun.Courses]

Тема в разделе "+ Курсы по программированию (общий каталог)", создана пользователем (аноним), 31 июл 2023.

  1. (аноним)

    (аноним) PROверенный

    Регистрация:
    21 апр 2019
    Сообщения:
    2.694
    Деньги:
    700 руб.
    Микросервисы, как в Bigtech-компаниях

    upload_2023-9-26_20-37-14.png

    Неделя 1.
    Знакомство, протокол http и gRPC

    • Что такое протокол http
    • Напишем http-сервер
    • Что такое REST
    • Чем плох json
    • Что такое protobuf
    • Чем плох http 1.1
    • Что такое gRPC?
    • Пишем первый proto-файл
    • Генерируем proto-файл
    • Реализуем простую логику ручек
    • Поднимем gRPC-сервер со своим API
    • Реализуем gRPC-клиент
    Результат: создашь два рабочих микросервиса с gRPC-серверами внутри, которые поддерживают базовый API.


    Неделя 2
    Deploy сервиса в облако и работа с PostgreSQL

    • Регистрируемся в Selectel и покупаем свой сервер
    • Собираем приложение и запускаем его на сервере
    • Что такое Docker
    • Разберемся, в чём суть контейнеризации, какая разница между ней и виртуализацией, а также познакомимся с Kubernetes
    • Пишем Docker файл для приложения и собираем его
    • Создаем registry для docker образов в Selectel и загружаем наш образ
    • Устанавливаем docker на наш сервер
    • Запускаем приложение из нашего образа
    • Что такое GitHub Actions
    • Пишем actions для деплоя и запуска нашего приложения
    • Что такое config и почему их бывает несколько
    • Пишем config’и для разных сред
    • Пишем обработчик config’а
    • Что такое Postgres
    • Запуск Postgres в Docker Compose
    • Что такое миграции
    • Пишем миграции и накатываем их с помощью утилиты goose
    • Простые запросы в Postgres с помощью pgx
    • Пишем запросы с помощью билдера squirrel
    • Заворачиваем накатку миграций в отдельный Docker контейнер
    Результат: разработаешь базовую бизнес-логику созданных ранее API с использованием базы данных PostgreSQL.

    Неделя 3
    Архитектура проекта

    • Что такое слои и зачем они нужны
    • Пишем repo-слой
    • Пишем сервисный слой
    • Пишем модели и конверторы
    • Пишем инициализацию всех зависимостей
    • Что такое DI контейнер
    • Пишем свой DI контейнер
    • Недостаток работы с pgx напрямую
    • Пишем свою обертку над клиентом к БД
    • Что такое транзакции
    • Недостаток работы с транзакциями через pgx
    • Пишем свой transaction manager
    • Встраиваем transaction manager в свою обертку над клиентом к БД
    Результат: научишься рефакторингу и сделаешь удобную, расширяемую и гибкую архитектуру своих проектов.

    Неделя 4
    Тестирование сервиса и создание платформенной библиотеки

    • Зачем нужны тесты
    • Какие виды тестов бывают
    • Пишем юнит-тесты для простого кода
    • Пишем юнит-тесты для кода с моками зависимостей
    • Что такое платформенная библиотека
    • Создаем свою платформенную
    Результат: покроешь функционал своих сервисов unit-тестами и создашь собственную платформенную библиотеку, состоящую из общих компонентов твоих проектов.

    Неделя 5
    Дополнительные опции экосистемы gRPC

    • В чем проблема gRPC
    • Что такое grpc-gateway
    • Описываем опции gateway в proto-файле
    • Генерируем proto-файл с gateway
    • Поднимаем http-сервер для работы с gateway
    • Что такое proto-валидация
    • Описываем опции валидации в proto-файле
    • Генерируем proto-файл с валидацией
    • Применяем сгенерированную валидацию
    • Что такое интерцептор?
    • Пишем валидационный интерцептор
    • Что такое swagger
    • Генерируем proto-файл со swagger и используем результат в Postman
    • Что такое CORS
    • Поднимаем отдельный swagger-сервер
    Результат: в одном из сервисов поднимешь свой gRPC-Gateway, который позволит обрабатывать http-трафик. Опишешь proto-валидацию и автоматически сгенерируешь интерактивную документацию API Swagger.

    Неделя 6
    Безопасность сетевых взаимодействий между сервисами

    • Что такое TLS
    • Генерируем сертификаты
    • Подключаем сертификаты на сервере
    • Подключаем сертификаты на клиенте
    • Что такое JWT
    • Описываем контракты аутентификационного API
    • Пишем генерацию access токена
    • Пишем генерацию refresh токена
    • Пишем проверку валидности токена
    • Учимся передавать и принимать токен через контекст
    • Пишем серверный и клиентский интерцепторы для работы с токеном
    Результат: обеспечишь транспортную безопасность взаимодействию твоих сервисов друг с другом. Создашь систему аутентификации и авторизации для своих проектов средствами JWT.

    Неделя 7
    Мониторинг системы

    • Что такое логи
    • Zap-логгер
    • Пишем обертку над zap-логгером
    • Что такое метрики
    • Разворачиваем prometheus в Docker-compose
    • Поднимаем сервер для метрик и организуем их сбор
    • Смотрим метрики и интерпретируем их на примере RPS
    • Что такое Grafana
    • Разворачиваем Grafana в Docker-compose
    • Импортируем метрики из prometheus в Grafana
    • Что такое трейсинг
    • Разворачиваем Jaeger в Docker сompose
    • Организуем сбор трейсов
    Результат: на примере одного из сервисов добавишь грамотное логгирование о различных событиях, метрики, сигнализурующие о важных показателях системы, а также организуешь сбор трейсов.

    Неделя 8
    Паттерны отказоустойчивости приложения и потокая обработка данных

    • Что такое timeout
    • Применяем timeout через контекст
    • Что такое Rate Limiter
    • Пишем свой Rate Limiter
    • Что такое Curcuit Breaker
    • Подключаем готовую реализацию Curcuit Breaker
    • Система ошибок в gRPC
    • Обсуждаем дизайн системы ошибок для бизнес логики
    • Пишем реализацию валидатора бизнес логики
    • Пишем обработчик ошибок
    • Пишем интерцептор для конвертации бизнес ошибок в транспортные
    • Что такое стриминговые ручки в gRPC
    • Добавляем стриминговую ручку в API
    • Что такое cli утилита
    • Пишем свою cli утилиту для связи с сервером
    Результат: умеешь применять паттерны отказоустойчивости и работать со стриминговыми ручками в gRPC. Кроме этого, ты разработаешь свою cli-утилиту в качестве чат-клиента.

    Вы не можете просматривать внешние ссылки, что-бы просмотреть зарегистрируйтесь или авторизуйтесь на форуме !




    Цена курса - 340 руб


    [​IMG]

    ОПЛАТИТЬ >>>>>>>>

     
    Последнее редактирование модератором: 5 дек 2023
  2. 1sharew1

    1sharew1 PROверенный

    Регистрация:
    11 мар 2019
    Сообщения:
    5.019
    Деньги:
    298 руб.
    карта 1 в 07-23
     
    Последнее редактирование модератором: 26 сен 2023
  3. admin

    admin Команда форума Admin

    Регистрация:
    10 мар 2019
    Сообщения:
    17.497
    Деньги:
    3.402 руб.
     
Загрузка...
Похожие темы - Микросервисы как Bigtech
  1. admin
    Ответов:
    4
    Просмотров:
    23
  2. admin
    Ответов:
    0
    Просмотров:
    8
  3. admin
    Ответов:
    2
    Просмотров:
    12
  4. admin
    Ответов:
    2
    Просмотров:
    26
  5. admin
    Ответов:
    2
    Просмотров:
    33