Skip to content

atlz253/glossary

Repository files navigation

Глоссарий API

API глоссария для хранения терминов и их определений

Развертывание

В Makefile определены необходимые варианты развертывания API при помощи docker

Режим разработки

Развернуть систему в режиме разработки можно командой make docker.develop.up

Режим релиза

Развернуть систему в режиме релиза можно командой make docker.production.up

REST API

REST API работает на 8000 порту

Документация

Документация доступна по маршруту /docs

Postman

Также в проекте представлена коллекция Postman в файле glossary.postman_collection.json

gRPC

gRPC работает на 50051 порту

Генерация кода на основе proto файлов

Для генерации серверного и клиентского gRPC кода на основе proto файлов используйте цель make proto.build

socketio

socketio работает на 5000 порту

Нагрузочное тестирование

Для нагрузочного тестирования используется k6

Разработка

Для разработки новых тестовых сценариев перейдите в директорию k6 и выполните установку npm пакетов при помощи npm ci

Запуск тестов

Для запуска нагрузочного тестирования REST разверните систему и выполните команду make k6.rest Для запуска нагрузочного тестирования gRPC разверните систему и выполните команду make k6.grpc

Дополнительные расширения

Для нагрузочного тестирования socketio используется xk6-socketio

Мониторинг и анализ

Prometheus

В проекте настроена система мониторинга Prometheus для сервисов, UI развернут на порту 9090

Grafana

Вместе с остальными сервисами разворачивается система визуализации и анализа данных Grafana, которая доступна на 3333 порту (данные для входа admin:admin)

About

Simple glossary API with support for REST, Socket.IO, and gRPC protocols

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors