32 lines
2.2 KiB
Markdown
32 lines
2.2 KiB
Markdown
|
---
|
|||
|
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/)
|