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