Микросервисная архитектура на языке GO
Автор: alex_rb888 • Декабрь 23, 2022 • Курсовая работа • 5,055 Слов (21 Страниц) • 146 Просмотры
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ ПРИКЛАДНОЙ МАТЕМАТИКИ И ИНФОРМАТИКИ
Кафедра многопроцессорных систем и сетей
МИКРОСЕРВИСНАЯ АРХИТЕКТУРА НА ЯЗЫКЕ GO
Курсовая работа
Боричевского Алексея Игоревича
студента 3 курса 1 группы,
специальность «информатика»
Научный руководитель:
старший преподаватель
О.М. Кондратьева
Минск, 2022
ОГЛАВЛЕНИЕ
Введение 3
Глава 1 Подготовка к разработке приложения 4
1.1 Микросервисная архитектура 4
1.2 Язык программирования Golang 7
1.3 Конкуренция и параллелизм 8
1.4 Многопоточность в Golang 10
1.5 Архитектура REST 11
1.4 Golang modules 4
1.6 Базы данных 4
1.7 Swagger Api 4
1.8 Docker 4
1.9 Линтеры 4
1.10 Тестирование приложения 4
Глава 2 Архитектура приложения 5
2.1 Полное описание архитектуры приложения 6
Глава 3 Реализация приложения 6
3.1 Описание базируещего REST-сервиса 6
3.2 Описание консольной утилиты 6
3.3 Описание остальных микросервисов 6
3.4 Подключение базы данных 6
3.4 Подключение Swagger API 6
3.4 Контейнеризация приложения(Docker) 6
3.4 Запуск приложения как одного контейнера(Docker-compose) 6
3.4 Тестирование приложения 6
Заключение 7
Список использованных источников 8
ВВЕДЕНИЕ
Микросервисы — еще один новый термин на шумных улицах разработки программного обеспечения. В зарождающейся тенденции микросервисов дебаты о выборе архитектуры приложения неизбежны. Микросервисная архитектура обеспечивает такие ощутимые преимущества, как масштабируемость и гибкость, и является предпочитаемым способом создания тяжелых приложений. Большинство технологических гигантов, таких как Google, Netflix и Amazon, в последнее время внедряют микросервисы в свои решения.
Напротив, монолитный подход теряет свою ценность, поскольку создает риски для поддержки программного обеспечения.
Для реализации приложения на базе микросервисной архитектуры был выбран язык программирования Go.
Go – молодой язык, который был разработан в компании Google.Идея состояла в том, чтобы иметь язык с эффективностью на уровне C++, но с удобочитаемостью, сравнимой с Python.
Суть работы заключается в разработке приложения на базе микросервисов, один из которых является консольной утилитой, которая распараллеливает запросы на сервер и складывает результаты в базу данных.
ГЛАВА 1 ПОДГОТОВКА К РАЗРАБОТКЕ ПРИЛОЖЕНИЯ
- Микросервисная архитектура
Микросервисы — это небольшие развертываемые сервисы, созданные на базе сложных приложений. Микросервис — это не что иное, как более новая версия сервис-ориентированной архитектуры (SOA). Они общаются друг с другом, используя разные методы, и у них также есть то преимущество, что они не зависят от технологий.
С технической точки зрения микросервисы раскрывают одну бизнес/техническую возможность приложений, которые они инкапсулируют, через несколько небольших сервисов. Различные микросервисы взаимодействуют через конечные точки API/протоколы HTTP, превращая их в распределенную систему.
...