Distributed System
Что это
Распределённая система - это система, компоненты которой работают на разных узлах(машинах) и взаимодействуют
по сети.
Примеры:
- Интернет
- Кластерная БД (например, Apache Cassandra)
- Apache Kafka
- Kubernetes-кластер
Ключевые признаки:
- Несколько физических или виртуальных машин
- Сетевое взаимодействие
- Отказоустойчивость
- Проблемы консистентности (CAP-теорема)
- Задержки сети
Даже монолит, развернутый на нескольких серверах, уже распределённая система.
Микросервисы
Микросервисы - это архитектурный стиль построения приложения как набора независимых сервисов.
Характеристики:
- Каждый сервис отвечает за свою бизнес-область
- Независимое развертывание
- Своя БД (желательно)
- Общение через HTTP/gRPC/сообщения