Видео: разработка микросервиса на Go на примере реального проекта
Автор рассматривает микросервис на Go, демонстрирует структуру проекта, показывает систему авторизации и подробно объясняет принятые решения.
5К открытий6К показов
В этом видео мы рассмотрим готовый проект на Go, являющийся API Gateway для микросервисной архитектуры. Он используется в рамках системы заметок, которую мы разрабатываем в отдельной серии материалов.
Мы разберём реализацию JSON Web Token авторизации и систему ошибок. Посмотрим на программную архитектуру проекта, изучим программные паттерны разработки и посмотрим, как использовать в проекте язык программирования Golang.
Исходный код проекта доступен на GitHub.
0:33 Обзор структуры проекта, функции main в файле main.go — точке входа в приложении.
2:42 Обзор обёртки над логером logrus. Логирование в разные файлы с разным уровнем логирования.
12:34 Создание объекта конфигурации из YAML-файла при помощи библиотеки cleanenv.
16:30 Разбираем обёртку над кэшем в Golang и реализацию кэша с использованием библиотеки freecache.
21:40 Реализация JSON Web Token.
32:05 Смотрим на хендлеры — обработчики запросов к сервису, разбираем паттерн Data Transfer Object в Golang.
41:13 Система обработки ошибок и определения статуса HTTP кода возврата по ошибке.
1:00:10 Общий REST Client для взаимодействия с RESTful сервисами.
1:09:00 Разбираемся с сервисами бизнес-логики и контекстом в Golang.
1:23:10 Функции старта приложения по порту и на сокете, Graceful Shutdown с закрытием ресурсов.
1:26:40 Разбираемся с особенностью Golang: nil != nil.
5К открытий6К показов