Шаблон backend сервера на Go

CyberSec RuTOR

Кибербезопасность
Команда форума
Модератор
Сообщения
1.025
Реакции
1.533
1714046175106.png

Шаблон backend сервера на Go

Основная цель этого шаблона, кроме обучения — это снизить время на прототипирование небольших серверных задач на Go.

Шаблон включает в себя:
Передачу параметров для запуска HTTP сервера через командную строку — github.com/urfave/cli
Настройка параметров сервера через конфигурационный файл — github.com/sasbury/mini
Настройка параметров TLS HTTP сервера
Настройка роутера и регистрация HTTP и prof-обработчиков — github.com/gorilla/mux
Настройка уровней логирования без остановки сервера — github.com/hashicorp/logutils
Настройка логирования HTTP трафика без остановки сервера
Настройка логирования ошибок в HTTP response без остановки сервера
HTTP Basic аутентификация
MS AD аутентификация — gopkg.in/korylprince/go-ad-auth.v2
JSON Web Token — github.com/dgrijalva/jwt-go
Запуск сервера с ожиданием возврата в канал ошибок
Использование контекста для корректной остановки сервера и связанных сервисов
Настройка кастомной обработки ошибок — github.com/pkg/errors
Настройка кастомного логирования
Сборка с внедрением версии, даты сборки и commit

GitHub ( )

На изображении — UML-диаграмма последовательности запуска и остановки сервера
1714046155176.png
 
Назад
Сверху Снизу