[Udemy] Работа с микросервисами в Go (2022)
Долгое время веб-приложения обычно были единым приложением, которое обрабатывало все, другими словами, монолитным приложением. Этот монолит занимался аутентификацией пользователей, ведением журналов, отправкой электронной почты и всем остальным. Хотя это по-прежнему популярный (и полезный) подход, сегодня многие крупномасштабные приложения имеют тенденцию разбивать все на микросервисы . Сегодня большинство крупных организаций сосредоточены на создании веб-приложений с использованием этого подхода, и на то есть веские причины.
Микросервисы , также известные как архитектура микросервисов, представляют собой архитектурный стиль, который структурирует приложение как слабосвязанный набор небольших приложений. Архитектура микросервисов обеспечивает быструю и надежную доставку больших и сложных приложений. Вот некоторые из наиболее распространенных функций микросервиса:
- его можно поддерживать и тестировать;
- он слабо связан с другими частями приложения;
- он может быть развернут сам по себе;
- он организован вокруг деловых возможностей;
- часто им владеет небольшая команда.
В этом курсе мы разработаем несколько небольших автономных слабосвязанных микросервисов, которые будут взаимодействовать друг с другом и простым интерфейсным приложением с REST API, с RPC , через gRPC , а также путем отправки и потребления. сообщения с использованием AMQP , Advanced Message Queuing Protocol. Создаваемые нами микросервисы будут включать в себя следующие функции:
- Служба переднего плана, которая просто отображает веб-страницы;
- Служба аутентификации с базой данных Postgres;
- Служба регистрации с базой данных MongoDB;
- Служба прослушивателя, которая получает сообщения от RabbitMQ и действует на них;
- Брокерская служба, которая является дополнительной единой точкой входа в кластер микрослужб;
- Почтовая служба, которая принимает полезную нагрузку JSON, преобразует ее в форматированное электронное письмо и отправляет его.
Все эти сервисы будут написаны на языке Go, обычно называемом Golang, который особенно хорошо подходит для создания распределенных веб-приложений.
Мы также узнаем, как развернуть наше распределенное приложение в Docker Swarm и Kubernetes , как увеличивать и уменьшать масштаб по мере необходимости, а также обновлять отдельные микросервисы с минимальным временем простоя или вообще без него.
Для кого этот курс:
- Разработчики Go, которые работали с монолитными приложениями и хотят научиться работать с микросервисами.
Требования
- Базовое понимание языка программирования Go
- Компьютер Macintosh, Windows или Linux с подключением к Интернету.
Материал на английском языке
Подробнее:
Скачать: