CAP теорема

Теорема відзеркалює основні характеристики побудови distributed систем (DS):
  1. Consistency - дані в системі мають бути найновіші
  2. Availability - система має бути постійно доступною для запису та читання
  3. Partition tolerance - у випадку split-brain (один з класгерів (датацентрів) виявився недоступний,...) система має працювати без збоїв, а коли недоступний кластер "з’явться" вирішити всі проблеми пов’язані з недоступністю.
Ці характеристики описуюють будь-яку distributed систему, і ніколи не можуть бути реалізовані всі три разом в повній мірі в одній системі.
Отже, мусимо вибирати :(

Partition tolerance має бути обов’язково реалізоване, тому вибір між A  i C.

Hashing Consistency

В DS має сенс розглядати побудову кластера та методи збереження даних. Для побудови ефективної структури нам не вигіно використовувати master - slave відношення, всі частини кластера мають бути активні.
Як тоді зберігати дані?
Хешуванням ключів. Кожна частинка кластера відповідає за свій простір хеш значень.
Як з реплікацією - зберігаємо дане значення на декількох нодах.
Як досягнути consistency? Досягаємо за правилом:
 R + W > N
Що означає кількість нодів, що підтвердили читання у себе цих даних, додати кількість нодів, що записали ці дані, більща за кількість нодів в репліці, тобто дані є консистентні.

Comments

Popular posts from this blog

Install Kubeflow locally

RabbitMQ and OpenShift