This commit is contained in:
Struchkov Mark 2024-09-10 17:29:46 +03:00
parent 16bb80f919
commit 968ac2c02b
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C
2 changed files with 36 additions and 0 deletions

View File

@ -0,0 +1,35 @@
---
aliases:
tags:
- maturity/🌱
date:
- - 2024-03-12
zero-link:
- "[[../../meta/zero/00 Архитектура ИС|00 Архитектура ИС]]"
parents:
linked:
---
CAP теорема — это принцип, описывающий фундаментальные ограничения, с которыми сталкиваются распределённые вычислительные системы в контексте обеспечения следующих трёх свойств:
- **Согласованность (Consistency)**: Каждый раз, когда данные читаются, возвращается самое последнее записанное значение или ошибка. С другими словами, операции с данными выглядят так, будто выполняются в некоторой строгой последовательности, одна за другой
- **Доступность (Availability)**: Каждый запрос на получение или запись данных получает ответ, независимо от состояния системы, даже если некоторые части системы вышли из строя.
- **Устойчивость к разделению (Partition Tolerance)**: Система продолжает функционировать, даже если произошло "разделение" — потеря связи между узлами в распределённой сети. То есть система способна переносить произвольное число сообщений, которые задерживаются или теряются в сети.
==Согласно теореме CAP, в любой момент времени система может обеспечивать только два из этих трёх свойств.== Это означает, что при разработке системы приходится принимать компромисс между этими свойствами в зависимости от требований приложения и условий эксплуатации. Например, если для системы критически важна согласованность данных и её устойчивость к разделению, возможно придётся пожертвовать её доступностью в некоторых сценариях.
## Свободные заметки
- Google заявляет, что их продукт Google Spanner якобы нарушает CAP теорему.
***
## Мета информация
**Область**:: [[../../meta/zero/00 Архитектура ПО|00 Архитектура ПО]]
**Родитель**::
**Источник**::
**Автор**::
**Создана**:: [[2024-03-12]]
### Дополнительные материалы
-
### Дочерние заметки
```dataview
LIST
FROM [[]]
WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link)
```

View File

@ -5,6 +5,7 @@ parents:
- "[[00 Разработка]]" - "[[00 Разработка]]"
title: Архитектура ПО title: Архитектура ПО
--- ---
- [[../../dev/architecture/CAP теорема|CAP теорема]]
- [Трёхзвенная структура](../../dev/architecture/Трёхзвенная%20структура.md) - [Трёхзвенная структура](../../dev/architecture/Трёхзвенная%20структура.md)
- [Монолитная архитектура](Монолитная%20архитектура.md) - [Монолитная архитектура](Монолитная%20архитектура.md)
- [Микросервисная архитектура](Микросервисная%20архитектура.md) - [Микросервисная архитектура](Микросервисная%20архитектура.md)