Distributed System
Что это
Распределенная система - это набор компьютерных программ, использующих вычислительные ресурсы нескольких
отдельных вычислительных узлов для достижения одной общей цели. Ее также называют распределенными
вычислениями или распределенной базой данных.
CAP-теорема(теорема Брюэра)
CAP-теорема - это фундаментальная концепция в распределённых системах, которая утверждает, что распределённая
система не может одновременно гарантировать все три следующих свойства:
- Consistency(Согласованность) - все узлы системы видят одни и те же данные в одно и то же время.
Это означает, что после записи данных каждый запрос к системе вернёт последние обновлённые данные.
- Availability(Доступность) - каждый запрос от клиента получает ответ(успешный или с ошибкой), даже
если некоторые узлы системы вышли из строя.
- Partition Tolerance(Устойчивость к разделению сети) - система продолжает работать, даже если происходит
разделение сети (network partition) — то есть некоторые узлы не могут друг с другом общаться.
В условиях разделения сети система может обеспечить либо согласованность, либо доступность, но не обе одновременно.
Как выбрать:
- Если важна согласованность(банковская система) → выбираем CP
- Если важна доступность(соцсети, кэш) → выбираем AP