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

32 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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/)