Похожие презентации:
8 Микросервисная архитектура
1.
Микросервисы :проектирование и
внедрение
Микросервисная архитектура - это современный подход к проектированию
и внедрению сложных программных систем, который позволяет создавать
модульные, гибкие и масштабируемые приложения. Этот метод дает
множество преимуществ, но также требует тщательного планирования и
реализации.
2.
В ведение в микросервиснуюархитектуру
Модульность
Гибкость
Микросервисы построены как
Каждый сервис может быть
независимые, слабосвязанные
обновлен, масштабирован или
компоненты, что упрощает
заменен без влияния на
разработку, тестирование и
остальную часть системы.
развертывание.
Устойчивость
Отказ одного сервиса не приводит к сбою всей системы, что повышает
надежность приложения.
3.
Преимущества и недостатки микросервисовПреимущества
Недостатки
Быстрая разработка и развертывание
Более сложная архитектура
Масштабируемость и эластичность
Необходимость координации между сервисами
Технологическая гибкость
Сложность распределенной системы мониторинга
Автономность и раздельная ответственность команд
Возможные проблемы с производительностью и
латентностью
4.
Принципы проектированиямикросервисов
1
Разделение
ответственности
2
Слабая связность
Сервисы должны быть
Каждый сервис должен
максимально независимыми
отвечать за определенную
друг от друга для обеспечения
бизнес-функцию и иметь четко
гибкости системы.
определенные границы.
3
Автономность
4
Декларативность
Каждый сервис должен иметь
Сервисы должны
возможность независимо
взаимодействовать на основе
развиваться, развертываться и
четко определенных
масштабироваться.
контрактов, а не напрямую.
5.
Технологии для реализациимикросервисов
Контейнеризация
Оркестрация
Использование Docker для упаковки и
Применение Kubernetes для
развертывания сервисов.
автоматизированного управления
контейнерами.
Обмен данными
API-интеграция
Внедрение шины сообщений, например,
Реализация RESTful API для
Kafka, для эффективной коммуникации.
взаимодействия между сервисами.
6.
Подходы к развертываниюмикросервисов
Развертывание
Использование CI/CD для автоматического развертывания
сервисов.
Масштабирование
Горизонтальное и вертикальное масштабирование отдельных
сервисов.
Мониторинг
Внедрение централизованной системы мониторинга для
отслеживания работоспособности.
7.
Обеспечение эффективнойкоммуникации между
сервисами
1
Асинхронная коммуникация
Использование очередей сообщений, таких как RabbitMQ или Kafka,
для обеспечения слабой связности.
2
Синхронная коммуникация
Реализация RESTful API для взаимодействия между сервисами в
режиме реального времени.
3
Управление метаданны ми
Ведение централизованного реестра сервисов и их API для
упрощения интеграции.
8.
Адаптация бизнес-логики к микросервиснойархитектуре
Декомпозиция
Контекстные границы
Согласованность данных
Разбиение бизнес-логики на
Четкое определение границ между
Использование согласованных
отдельные, независимые сервисы,
сервисами, чтобы избежать
моделей данных и механизмов обмена
каждый из которых отвечает за
дублирования данных и логики.
информацией между сервисами.
определенную функцию.