Работа с микросервисами в Go (Golang) (6/2024)
Working with Microservices in Go (Golang)
Скачать Working with Microservices in Go (Golang) вы можете на нашем сайте. Мы предлагаем бесплатные IT-курсы с переводом на русский по направлениям: Веб-разработка, ML/AI, DevOps, Mobile и многим другим, которые помогут в вашей IT карьере.
О курсе
Создавайте высокодоступные, масштабируемые и отказоустойчивые распределённые приложения на Go
Чему вы научитесь
- Узнаете, что такое микросервисы и когда их использовать
- Как разрабатывать слабо связанные, узкоспециализированные приложения, которые работают вместе как распределённая система
- Как организовать взаимодействие между сервисами с помощью JSON, удалённого вызова процедур (RPC) и gRPC
- Как отправлять события в микросервисы через протокол AMQP (Advanced Message Queuing Protocol) с использованием RabbitMQ
- Как развернуть распределённое приложение в Docker Swarm
- Как развернуть распределённое приложение в кластере Kubernetes
Требования
- Базовое понимание языка программирования Go
- Компьютер на macOS, Windows или Linux с подключением к интернету
Описание
Долгое время веб-приложения представляли собой единое приложение, которое выполняло всё — иными словами, монолитное приложение. Такой монолит отвечал за аутентификацию пользователей, логирование, отправку email и всё остальное. Хотя этот подход по-прежнему популярен и полезен, сегодня многие крупномасштабные приложения разбивают функциональность на микросервисы. Большинство крупных организаций сейчас сосредоточены на создании веб-приложений именно таким способом, и на то есть веские причины.
Микросервисы, также известные как микросервисная архитектура — это архитектурный стиль, при котором приложение строится как слабо связанная коллекция небольших приложений. Микросервисная архитектура обеспечивает быструю и надёжную доставку крупных, сложных приложений. Наиболее распространённые характеристики микросервиса:
- Легко поддерживается и тестируется
- Слабо связан с другими частями приложения
- Может разворачиваться независимо
- Организован вокруг бизнес-возможностей
- Часто принадлежит небольшой команде
В этом курсе мы разработаем несколько небольших, самодостаточных, слабо связанных микросервисов, которые будут взаимодействовать друг с другом и с простым фронтенд-приложением через REST API, RPC, gRPC, а также путём отправки и получения сообщений через AMQP. Микросервисы, которые мы создадим, будут включать:
- Front End сервис — просто отображает веб-страницы
- Authentication сервис — с базой данных Postgres
- Logging сервис — с базой данных MongoDB
- Listener сервис — получает сообщения из RabbitMQ и обрабатывает их
- Broker сервис — опциональная единая точка входа в кластер микросервисов
- Mail сервис — принимает JSON-данные, преобразует их в отформатированное письмо и отправляет
Все сервисы будут написаны на Go (Golang) — языке, который особенно хорошо подходит для создания распределённых веб-приложений.
Также мы научимся разворачивать распределённое приложение в Docker Swarm и Kubernetes, масштабировать его вверх и вниз по мере необходимости и обновлять отдельные микросервисы с минимальным простоем или без него.
Материал предоставлен только для справки и ознакомления.
Поддержите автора, купив у него курс!