19
CAP теорема и ее применение в распределенных системах PCCM + DRA как распределенная система Сушков Алексей Начальник группы "PCCM, RBSM"

CAP теорема

Embed Size (px)

DESCRIPTION

Техсовет компании Петер-Сервис

Citation preview

Page 1: CAP теорема

CAP теорема и ее применение в

распределенных системах

PCCM + DRA как распределенная система

Сушков АлексейНачальник группы "PCCM, RBSM"

Page 2: CAP теорема

billing.ru

Содержание

2

Page 3: CAP теорема

billing.ru

Важность понимания распределенных систем

ИнтернетПоисковики (Google)Интернет магазины (Amazon)Облачные сервисы / вычисленияRAIDСуперкомпьютерыРаспределенные DB

3

Page 4: CAP теорема

billing.ru

Распределенные системы

Независимость узловСнаружи – как целоеМасштабируемость -

следствие первого

4

Page 5: CAP теорема

billing.ru

Как думали устроен мир

5

Page 6: CAP теорема

billing.ru

Как на самом деле устроен мир

6

Узел 1Узел 1 Узел 2Узел 2 Узел NУзел N

Промежуточное звеноПромежуточное звено

Клиент 1Клиент 1 Клиент 2Клиент 2 Клиент MКлиент M

Page 7: CAP теорема

billing.ru

Проблемы масштабируемостиПроблема Решения

Значительное время ожидания ответа от удаленного узла

1. Применение децентрализованных алгоритмов:

• Работа в условиях отсутствия полной информации о системе

• Принятие решения на основе локальной информации

2. Сокрытие времени ожидания:• Асинхронное выполнение• Выполнение на клиенте

Распределение нагрузки

1. Применение алгоритмов:• Хеш функция (mod)• Случайное распределение• Round robin• Распределение в зависимости от нагрузки, %

CPU и т.п. 2. Shared Nothing Architecture

Падение узлов / штатный рестарт узлов

1. Репликация 2. Кеширование

7

Page 8: CAP теорема

billing.ru

Репликация данных

8

УзелУзел УзелУзел

КлиентКлиент

УзелУзел УзелУзел

КлиентКлиент

УзелУзел УзелУзел

КлиентКлиент

Между узламиМежду узлами

Данные на клиентеДанные на клиенте

Дублирование с клиентаДублирование с клиента

Page 9: CAP теорема

billing.ru

Распределенная архитектура PCCM

9

DRADRA

PCCM(M)

PCCM(M)

PCCM(S)

PCCM(S)

PCCM(M)

PCCM(M)

PCCM(S)

PCCM(S)…… PCCM

(S)PCCM

(S) …

Группа IMSI NГруппа IMSI NГруппа IMSI 1Группа IMSI 1

Page 10: CAP теорема

billing.ru

Надежная архитектура PCCM + DRA

10

DRA 1DRA 1

PCCM(M)

PCCM(M)

PCCM(S)

PCCM(S)

PCCM(M)

PCCM(M)

PCCM(S)

PCCM(S)…

Группа IMSI NГруппа IMSI NГруппа IMSI 1Группа IMSI 1

DRA 2DRA 2

Page 11: CAP теорема

billing.ru

Внутренняя архитектура PCCM

11

Event Processor ManagerEvent Processor Manager

КЕШIMSI 1

КЕШIMSI 1

КЕШIMSI 2

КЕШIMSI 2

КЕШIMSI N

КЕШIMSI N

Page 12: CAP теорема

billing.ru

Модели целостности системы

ACID BASE• Atomicity — Атомарность• Consistency —

Согласованность• Isolation —

Изолированность• Durability — Надежность

• Basic Availability – базовая доступность

• Soft-state – неустойчивое состояние

• Eventual consistency – согласованность в конечном итоге

RDBMS • NoSQL (не всегда)• Распределенные DB

MySQL, Oracle Cassandra, Dynamo, MongoDB

• Согласованность данных за счет доступности

• Доступность данных за счет согласованности

• Большая надежность • Лучшая производительность

• Пессимистичная стратегия • Оптимистичная стратегия

Page 13: CAP теорема

billing.ru

CAP Теорема

13

ConsistencyConsistency

AvailabilityAvailability

CP AP

CA

Профессор Эрик Брюер (Eric A. Brewer) ~ 2000 годПрофессор Эрик Брюер (Eric A. Brewer) ~ 2000 год

Page 14: CAP теорема

billing.ru

CAP Теорема

В любой реализации распределённых вычислений возможно обеспечить не более двух из трёх следующих свойств Consistency (согласованность данных), Availability (доступность) и Partition tolerance (устойчивость к разделению).

В любой реализации распределённых вычислений возможно обеспечить не более двух из трёх следующих свойств Consistency (согласованность данных), Availability (доступность) и Partition tolerance (устойчивость к разделению).

Дополнение к теореме: любая распределенная система должна быть P (устойчивой к разделению)!

Дополнение к теореме: любая распределенная система должна быть P (устойчивой к разделению)!

Уточнение теоремы: при отсутствии P система может (должна) быть CAУточнение теоремы: при отсутствии P система может (должна) быть CA

Page 15: CAP теорема

billing.ru

CAP Теорема доказательство

AA V0V0

Node 1Node 1

V1V1

BB V0V0

Node 2Node 2

AA V1V1

BB V0V0

AA V1V1

V1V1BB V1V1

V1V1

1 2 3

Page 16: CAP теорема

billing.ru

CAP Теорема доказательство

AA V0V0

Node 1Node 1

V1V1

BB V0V0

Node 2Node 2

AA V1V1

BB V0V0

AA V1V1

V0V0BB V0V0

1 2 3

Page 17: CAP теорема

billing.ru

CAP Теорема – применение

17

Думать о своих данных: разные данные – разные нужды (книжный магазин vs торговля акциями);

Может лучше согласованность в конечном итоге, но 100% доступность?

В высоконагруженных системах массового обслуживания лучше доступность, чем согласованность.

Объяснять заказчикам, что при падении (рестарте) узлов системы возможно обеспечить только “согласованность в конечном итоге”.

Page 18: CAP теорема

billing.ru

Чего в презентации не было Event-Driven Architecture

AMQP (Advanced Message Queuing Protocol)  RabbitMQ Паттерны масштабирования (Scalability Patterns)

Google – поставщик инноваций: MapReduce GFS (Google File System) LevelDB

Применение NoSQL DB Facebook: Cassandra LinkedIn: Voldemort Amazon: DynamoDB Yahoo: Hbase

Распределенные файловые системы Распределенные хранилища данных RAID

18

Page 19: CAP теорема

© 2010 ПЕТЕР-СЕРВИС Все права защищены

Алексей СушковНачальник группы "PCCM, RBSM"

[email protected]

Спасибо за внимание!