--- aliases: - микросервисной архитектуре - микросервисную архитектуру tags: - зрелость/🌱 - type/zero-link date: - - 2024-03-20 zero-link: - "[[00 Архитектура ПО]]" parents: linked: --- Обобщенное определение микросервисной архитектуры звучит так: это стиль проектирования, который разбивает приложение на отдельные сервисы с разными функциями. Которые могут работать, разрабатываться и деплоится независимо > [!NOTE] Размер имеет значение? > Заметьте, что размер здесь вообще не упоминается. Главное, чтобы каждый сервис имел четкий перечень связанных между собой обязанностей. В микросервисной архитектуре единицей модульности является сервис. Сервисы обладают API, которые служат непроницаемым барьером. В отличие от пакетов в Java API нельзя обойти, чтобы обратиться к внутреннему классу. **Межсетевое взаимодействие:** Примитивные каналы, такие как брокер сообщений, или прямое взаимодействие с помощью легковесных протоколов наподобие REST или [[gRPC]]. ## Достоинства - Делает возможной [Continuous Delivery](Continuous%20Delivery.md) - Сервисы разрабатываются независимо друг от друга - Сервисы масштабируются независимо друго от друга - Позволяет эксперементировать и внедрять новые технологии - Лучше изолируются неполадки. ## Подходы - [Database per service](Database%20per%20service.md) - у каждого сервиса своя база данных. ## Полезное - [What are microservices?](https://microservices.io/)