Архитектура микросервисов (описание к предыдущему посту)
По своей сути архитектура микросервисов подразумевает разбиение приложения на набор небольших, слабо связанных сервисов. Каждый сервис запускает уникальный процесс, взаимодействует через четко определенный API и находится в отдельной кодовой базе, которой может управлять небольшая группа разработчиков и которая может быть развернута независимо.
Ключевые элементы микросервисной архитектуры:
𝟭.𝗟𝗼𝗮𝗱 𝗕𝗮𝗹𝗮𝗻𝗰𝗲𝗿 (Балансировщик нагрузки) : Обеспечивает равномерное распределение входящего сетевого трафика по различным серверам.
𝟮. 𝗖𝗗𝗡 (𝗖𝗼𝗻𝘁𝗲𝗻𝘁 𝗗𝗲𝗹𝗶𝘃𝗲𝗿𝘆 𝗡𝗲𝘁𝘄𝗼𝗿𝗸/Сеть поставки контента): Распределенная серверная система, которая доставляет веб-контент в зависимости от местоположения пользователя. Речь идет о приближении контента к конечному пользователю, что ускоряет загрузку страниц.
𝟯. 𝗔𝗣𝗜 𝗚𝗮𝘁𝗲𝘄𝗮𝘆 (API Шлюз): Управляет запросами, направляя их в соответствующий микросервис с использованием REST API или других протоколов.
𝟰. 𝗠𝗮𝗻𝗮𝗴𝗲𝗺𝗲𝗻𝘁 (Система управление): Мониторинг и координация микросервисов, обеспечение их эффективной работы и эффективного взаимодействия.
𝟱. 𝗠𝗶𝗰𝗿𝗼𝘀𝗲𝗿𝘃𝗶𝗰𝗲𝘀 (собственно микросервисы): Каждый микросервис обрабатывает отдельную функциональность, что позволяет сфокусировать разработку и упростить устранение неполадок. Они могут общаться друг с другом с помощью RPC (удаленный вызов процедур). Сервисы отвечают за сохранение собственных данных или внешнего состояния.
Преимущества:
✅ Масштабируемость: Масштабируйте определенные части приложения, не затрагивая другие.
✅ Гибкость: Каждый микросервис можно разрабатывать, развертывать и масштабировать независимо.
✅ Устойчивость: Если один микросервис выходит из строя, это не влияет на всю систему.
✅ Быстрое развертывание: Меньшие кодовые базы означают более быстрое развертывание функций.
Недостатки:
❌ Сложность: Большее количество сервисов может привести к усложнению системы.
❌ Согласованность данных: Поддержание согласованности между сервисами может оказаться сложной задачей.
❌ Сетевые задержки: связь между сервисами и другим компонентами может вызывать задержки.
❌ Обработка ошибок: Когда происходит ошибка, сложно определить, почему и где она произошла.
Post #1618
1.95K
- 👍 10
- ❤ 4
- 🖕 2
- 👎 1