SlideShare a Scribd company logo
1 of 19
CAP теорема и ее
применение в
распределенных системах
PCCM + DRA как распределенная система
Сушков Алексей
Начальник группы "PCCM, RBSM"
billing.ru
Содержание
DRA + PCCM
CAP теорема
Распределенные системы
2
billing.ru
Важность понимания распределенных систем
Интернет
Поисковики (Google)
Интернет магазины (Amazon)
Облачные сервисы / вычисления
RAID
Суперкомпьютеры
Распределенные DB
3
billing.ru
Распределенные системы
Независимость узлов
Снаружи – как целое
Масштабируемость - следствие
первого
4
billing.ru
Как думали устроен мир
5
billing.ru
Как на самом деле устроен мир
6
Узел 1 Узел 2 Узел N
Промежуточное звено
Клиент 1 Клиент 2 Клиент M
…
…
billing.ru
Проблемы масштабируемости
Проблема Решения
Значительное
время ожидания
ответа от
удаленного узла
1. Применение децентрализованных алгоритмов:
• Работа в условиях отсутствия полной
информации о системе
• Принятие решения на основе локальной
информации
2. Сокрытие времени ожидания:
• Асинхронное выполнение
• Выполнение на клиенте
Распределение
нагрузки
1. Применение алгоритмов:
• Хеш функция (mod)
• Случайное распределение
• Round robin
• Распределение в зависимости от нагрузки, % CPU
и т.п.
2. Shared Nothing Architecture
Падение узлов
/ штатный
рестарт узлов
1. Репликация
2. Кеширование
7
billing.ru
Репликация данных
8
Узел Узел
Клиент
Узел Узел
Клиент
Узел Узел
Клиент
Между узлами Данные на
клиенте
Дублирование
с клиента
billing.ru
Распределенная архитектура PCCM
9
DRA
PCCM
(M)
PCCM
(S)
PCCM
(M)
PCCM
(S)……
PCCM
(S) …
Группа IMSI NГруппа IMSI 1
billing.ru
Надежная архитектура PCCM + DRA
10
DRA 1
PCCM
(M)
PCCM
(S)
PCCM
(M)
PCCM
(S)
…
Группа IMSI NГруппа IMSI 1
DRA 2
billing.ru
Внутренняя архитектура PCCM
11
Event Processor Manager
КЕШ
IMSI 1
КЕШ
IMSI 2
КЕШ
IMSI N
…
billing.ru
Модели целостности системы
ACID BASE
• Atomicity — Атомарность
• Consistency — Согласованность
• Isolation — Изолированность
• Durability — Надежность
• Basic Availability – базовая
доступность
• Soft-state – неустойчивое
состояние
• Eventual consistency –
согласованность в конечном
итоге
RDBMS • NoSQL (не всегда)
• Распределенные DB
MySQL, Oracle Cassandra, Dynamo, MongoDB
• Согласованность данных за
счет доступности
• Доступность данных за счет
согласованности
• Большая надежность • Лучшая производительность
• Пессимистичная стратегия • Оптимистичная стратегия
billing.ru
CAP Теорема
13
Consistency Availability
CP AP
CA
Профессор Эрик Брюер (Eric A. Brewer) ~ 2000 год
billing.ru
CAP Теорема
В любой реализации распределѐнных
вычислений возможно обеспечить не более двух
из трѐх следующих свойств Consistency
(согласованность данных), Availability
(доступность) и Partition tolerance (устойчивость
к разделению).
Дополнение к теореме: любая распределенная
система должна быть P (устойчивой к
разделению)!
Уточнение теоремы: при отсутствии P система
может (должна) быть CA
billing.ru
CAP Теорема доказательство
A V0
Node 1
V1
B V0
Node 2
A V1
B V0
A V1
V1B V1
V1
1 2 3
billing.ru
CAP Теорема доказательство
A V0
Node 1
V1
B V0
Node 2
A V1
B V0
A V1
V0B V0
1 2 3
billing.ru
CAP Теорема – применение
17
 Думать о своих данных: разные данные –
разные нужды (книжный магазин vs торговля
акциями);
 Может лучше согласованность в конечном
итоге, но 100% доступность?
 В высоконагруженных системах массового
обслуживания лучше доступность, чем
согласованность.
 Объяснять заказчикам, что при падении
(рестарте) узлов системы возможно обеспечить
только ―согласованность в конечном итоге‖.
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
© 2010 ПЕТЕР-СЕРВИС Все права защищены
Алексей Сушков
Начальник группы "PCCM, RBSM"
Alexey.Sushkov@billing.ru
www.billing.ru
Спасибо за внимание!

More Related Content

Similar to CAP теорема

архитектурные особенности высоконагруженных систем в телекоме
архитектурные особенности высоконагруженных систем в телекомеархитектурные особенности высоконагруженных систем в телекоме
архитектурные особенности высоконагруженных систем в телекомеOntico
 
Чеклист по безопасности облачного провайдера
Чеклист по безопасности облачного провайдераЧеклист по безопасности облачного провайдера
Чеклист по безопасности облачного провайдераAleksey Lukatskiy
 
ERP-системы в облаке: разбор кейсов DataLine
ERP-системы в облаке: разбор кейсов DataLineERP-системы в облаке: разбор кейсов DataLine
ERP-системы в облаке: разбор кейсов DataLineDataLine
 
Coherence in billing (Oracle day Moscow 2009)
Coherence in billing (Oracle day Moscow 2009)Coherence in billing (Oracle day Moscow 2009)
Coherence in billing (Oracle day Moscow 2009)aragozin
 
ЦОД нового поколения: автоматизация, упрощение, аналитика и безопасность
ЦОД нового поколения: автоматизация, упрощение, аналитика и безопасностьЦОД нового поколения: автоматизация, упрощение, аналитика и безопасность
ЦОД нового поколения: автоматизация, упрощение, аналитика и безопасностьCisco Russia
 
Адаптация инженерной инфраструктуры для облачных ЦОД - APC by Schneider Electric
Адаптация инженерной инфраструктуры для облачных ЦОД - APC by Schneider ElectricАдаптация инженерной инфраструктуры для облачных ЦОД - APC by Schneider Electric
Адаптация инженерной инфраструктуры для облачных ЦОД - APC by Schneider ElectricZaur Abutalimov
 
Заоблачная репутация ИТ-департамента
Заоблачная репутация ИТ-департаментаЗаоблачная репутация ИТ-департамента
Заоблачная репутация ИТ-департаментаКРОК
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Uptime Community
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Uptime community
 
hl++ Rubtsov
hl++ Rubtsovhl++ Rubtsov
hl++ RubtsovOntico
 
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...Yandex
 
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...Yandex
 
Архитектура масштабируемых приложений. Микросервисы, CQRS, ESB
Архитектура масштабируемых приложений. Микросервисы, CQRS, ESBАрхитектура масштабируемых приложений. Микросервисы, CQRS, ESB
Архитектура масштабируемых приложений. Микросервисы, CQRS, ESBPavel Treshnikov
 
Параллельные алгоритмы IBM Research для решения задач обхода и построения кра...
Параллельные алгоритмы IBM Research для решения задач обхода и построения кра...Параллельные алгоритмы IBM Research для решения задач обхода и построения кра...
Параллельные алгоритмы IBM Research для решения задач обхода и построения кра...Alexander Pozdneev
 
Резервное копирование виртуальных ЦОД
Резервное копирование виртуальных ЦОДРезервное копирование виртуальных ЦОД
Резервное копирование виртуальных ЦОДКРОК
 
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...JSFestUA
 
Маршрутизаторы Cisco - от чего зависит производительность или как получить ма...
Маршрутизаторы Cisco - от чего зависит производительность или как получить ма...Маршрутизаторы Cisco - от чего зависит производительность или как получить ма...
Маршрутизаторы Cisco - от чего зависит производительность или как получить ма...Cisco Russia
 
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...Ontico
 

Similar to CAP теорема (20)

архитектурные особенности высоконагруженных систем в телекоме
архитектурные особенности высоконагруженных систем в телекомеархитектурные особенности высоконагруженных систем в телекоме
архитектурные особенности высоконагруженных систем в телекоме
 
Чеклист по безопасности облачного провайдера
Чеклист по безопасности облачного провайдераЧеклист по безопасности облачного провайдера
Чеклист по безопасности облачного провайдера
 
ERP-системы в облаке: разбор кейсов DataLine
ERP-системы в облаке: разбор кейсов DataLineERP-системы в облаке: разбор кейсов DataLine
ERP-системы в облаке: разбор кейсов DataLine
 
Coherence in billing (Oracle day Moscow 2009)
Coherence in billing (Oracle day Moscow 2009)Coherence in billing (Oracle day Moscow 2009)
Coherence in billing (Oracle day Moscow 2009)
 
ЦОД нового поколения: автоматизация, упрощение, аналитика и безопасность
ЦОД нового поколения: автоматизация, упрощение, аналитика и безопасностьЦОД нового поколения: автоматизация, упрощение, аналитика и безопасность
ЦОД нового поколения: автоматизация, упрощение, аналитика и безопасность
 
Надежная инфраструктура цод
Надежная инфраструктура цодНадежная инфраструктура цод
Надежная инфраструктура цод
 
Адаптация инженерной инфраструктуры для облачных ЦОД - APC by Schneider Electric
Адаптация инженерной инфраструктуры для облачных ЦОД - APC by Schneider ElectricАдаптация инженерной инфраструктуры для облачных ЦОД - APC by Schneider Electric
Адаптация инженерной инфраструктуры для облачных ЦОД - APC by Schneider Electric
 
Заоблачная репутация ИТ-департамента
Заоблачная репутация ИТ-департаментаЗаоблачная репутация ИТ-департамента
Заоблачная репутация ИТ-департамента
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
 
hl++ Rubtsov
hl++ Rubtsovhl++ Rubtsov
hl++ Rubtsov
 
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
 
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
 
Архитектура масштабируемых приложений. Микросервисы, CQRS, ESB
Архитектура масштабируемых приложений. Микросервисы, CQRS, ESBАрхитектура масштабируемых приложений. Микросервисы, CQRS, ESB
Архитектура масштабируемых приложений. Микросервисы, CQRS, ESB
 
Параллельные алгоритмы IBM Research для решения задач обхода и построения кра...
Параллельные алгоритмы IBM Research для решения задач обхода и построения кра...Параллельные алгоритмы IBM Research для решения задач обхода и построения кра...
Параллельные алгоритмы IBM Research для решения задач обхода и построения кра...
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Резервное копирование виртуальных ЦОД
Резервное копирование виртуальных ЦОДРезервное копирование виртуальных ЦОД
Резервное копирование виртуальных ЦОД
 
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
 
Маршрутизаторы Cisco - от чего зависит производительность или как получить ма...
Маршрутизаторы Cisco - от чего зависит производительность или как получить ма...Маршрутизаторы Cisco - от чего зависит производительность или как получить ма...
Маршрутизаторы Cisco - от чего зависит производительность или как получить ма...
 
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
 

More from Alexey Sushkov

HL++ 2017: And then, surely, suddenly the clouds will dance!
HL++ 2017: And then, surely, suddenly the clouds will dance!HL++ 2017: And then, surely, suddenly the clouds will dance!
HL++ 2017: And then, surely, suddenly the clouds will dance!Alexey Sushkov
 
Secr 2017: And then, surely, suddenly the clouds will dance!
Secr 2017: And then, surely, suddenly the clouds will dance! Secr 2017: And then, surely, suddenly the clouds will dance!
Secr 2017: And then, surely, suddenly the clouds will dance! Alexey Sushkov
 

More from Alexey Sushkov (7)

HL++ 2017: And then, surely, suddenly the clouds will dance!
HL++ 2017: And then, surely, suddenly the clouds will dance!HL++ 2017: And then, surely, suddenly the clouds will dance!
HL++ 2017: And then, surely, suddenly the clouds will dance!
 
Secr 2017: And then, surely, suddenly the clouds will dance!
Secr 2017: And then, surely, suddenly the clouds will dance! Secr 2017: And then, surely, suddenly the clouds will dance!
Secr 2017: And then, surely, suddenly the clouds will dance!
 
3GPP 5G
3GPP 5G3GPP 5G
3GPP 5G
 
Clouds, NFV, SDN
Clouds, NFV, SDNClouds, NFV, SDN
Clouds, NFV, SDN
 
VMWare World 2016
VMWare World 2016VMWare World 2016
VMWare World 2016
 
TM Forum and Big Data
TM Forum and Big DataTM Forum and Big Data
TM Forum and Big Data
 
Big Data and Agile
Big Data and AgileBig Data and Agile
Big Data and Agile
 

CAP теорема

  • 1. CAP теорема и ее применение в распределенных системах PCCM + DRA как распределенная система Сушков Алексей Начальник группы "PCCM, RBSM"
  • 2. billing.ru Содержание DRA + PCCM CAP теорема Распределенные системы 2
  • 3. billing.ru Важность понимания распределенных систем Интернет Поисковики (Google) Интернет магазины (Amazon) Облачные сервисы / вычисления RAID Суперкомпьютеры Распределенные DB 3
  • 4. billing.ru Распределенные системы Независимость узлов Снаружи – как целое Масштабируемость - следствие первого 4
  • 6. billing.ru Как на самом деле устроен мир 6 Узел 1 Узел 2 Узел N Промежуточное звено Клиент 1 Клиент 2 Клиент M … …
  • 7. billing.ru Проблемы масштабируемости Проблема Решения Значительное время ожидания ответа от удаленного узла 1. Применение децентрализованных алгоритмов: • Работа в условиях отсутствия полной информации о системе • Принятие решения на основе локальной информации 2. Сокрытие времени ожидания: • Асинхронное выполнение • Выполнение на клиенте Распределение нагрузки 1. Применение алгоритмов: • Хеш функция (mod) • Случайное распределение • Round robin • Распределение в зависимости от нагрузки, % CPU и т.п. 2. Shared Nothing Architecture Падение узлов / штатный рестарт узлов 1. Репликация 2. Кеширование 7
  • 8. billing.ru Репликация данных 8 Узел Узел Клиент Узел Узел Клиент Узел Узел Клиент Между узлами Данные на клиенте Дублирование с клиента
  • 10. billing.ru Надежная архитектура PCCM + DRA 10 DRA 1 PCCM (M) PCCM (S) PCCM (M) PCCM (S) … Группа IMSI NГруппа IMSI 1 DRA 2
  • 11. billing.ru Внутренняя архитектура PCCM 11 Event Processor Manager КЕШ IMSI 1 КЕШ IMSI 2 КЕШ IMSI N …
  • 12. billing.ru Модели целостности системы ACID BASE • Atomicity — Атомарность • Consistency — Согласованность • Isolation — Изолированность • Durability — Надежность • Basic Availability – базовая доступность • Soft-state – неустойчивое состояние • Eventual consistency – согласованность в конечном итоге RDBMS • NoSQL (не всегда) • Распределенные DB MySQL, Oracle Cassandra, Dynamo, MongoDB • Согласованность данных за счет доступности • Доступность данных за счет согласованности • Большая надежность • Лучшая производительность • Пессимистичная стратегия • Оптимистичная стратегия
  • 13. billing.ru CAP Теорема 13 Consistency Availability CP AP CA Профессор Эрик Брюер (Eric A. Brewer) ~ 2000 год
  • 14. billing.ru CAP Теорема В любой реализации распределѐнных вычислений возможно обеспечить не более двух из трѐх следующих свойств Consistency (согласованность данных), Availability (доступность) и Partition tolerance (устойчивость к разделению). Дополнение к теореме: любая распределенная система должна быть P (устойчивой к разделению)! Уточнение теоремы: при отсутствии P система может (должна) быть CA
  • 15. billing.ru CAP Теорема доказательство A V0 Node 1 V1 B V0 Node 2 A V1 B V0 A V1 V1B V1 V1 1 2 3
  • 16. billing.ru CAP Теорема доказательство A V0 Node 1 V1 B V0 Node 2 A V1 B V0 A V1 V0B V0 1 2 3
  • 17. billing.ru CAP Теорема – применение 17  Думать о своих данных: разные данные – разные нужды (книжный магазин vs торговля акциями);  Может лучше согласованность в конечном итоге, но 100% доступность?  В высоконагруженных системах массового обслуживания лучше доступность, чем согласованность.  Объяснять заказчикам, что при падении (рестарте) узлов системы возможно обеспечить только ―согласованность в конечном итоге‖.
  • 18. 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
  • 19. © 2010 ПЕТЕР-СЕРВИС Все права защищены Алексей Сушков Начальник группы "PCCM, RBSM" Alexey.Sushkov@billing.ru www.billing.ru Спасибо за внимание!