digital-garden/wiki/zero/Микросервисная архитектура.md

32 lines
2.3 KiB
Markdown
Raw Normal View History

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