kazoomeetup moscow 2015. Максим Кржеменевский. Масштабируемость...
TRANSCRIPT
![Page 1: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/1.jpg)
Масштабируемость Масштабируемость и отказоустойчивость KAZOOи отказоустойчивость KAZOO
Кржеменевский Максим, SIPLABS
![Page 2: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/2.jpg)
Пути масштабирования
![Page 3: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/3.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Вертикальный
(Не в этой презентации)
![Page 4: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/4.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Горизонтальный
“Кошки размножаются умножением”
![Page 5: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/5.jpg)
Масштабирование СУБД BigCouch
![Page 6: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/6.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Параметры распределения данных:
● N – количество реплик документа● W – количество записей при создании● R – количество чтений при доступе● Z – количество различных зон, в которые производится запись
![Page 7: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/7.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Горизонтальное масштабирование:
● Автоматическая репликация● Использование протокола HTTP● Консистентность данных (запрос через любой сервер)
![Page 8: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/8.jpg)
HAProxy
![Page 9: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/9.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Плюсы:
● Прост● Быстр
В KAZOO распределяет запросы между узлами БД
![Page 10: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/10.jpg)
Масштабирование RabbitMQ
![Page 11: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/11.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
RabbitMQ и масштабируемость:
● Распределение нагрузки через очереди● Коммуникация приложений
node-2 node-3
node-4
RabbitMQ broker
node-1
![Page 12: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/12.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
RabbitMQ и отказоустойчивость
RabbitMQкластер
![Page 13: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/13.jpg)
Средства Erlang
![Page 14: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/14.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Приложения KAZOO:
1) Ecallmgr2) Все остальные
![Page 15: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/15.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Ecallmgr (keep-alive)
freeswitch-1
freeswitch-3
freeswitch-2
PING
![Page 16: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/16.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Ecallmgr (call processing)
freeswitch-1
freeswitch-3
freeswitch-2
fs APIfs API
![Page 17: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/17.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Ecallmgr
ecallmgr
ecallmgr-node-2
ecallmgr
ecallmgr-node-1
Это отдельное приложение и живет на своей собственной ноде
![Page 18: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/18.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
whapps-ы:
● Это логика● Одно приложение – одна задача● Каждая нода несет полный комплект
CrossbarCallflowAnanke
(и еще разные)
whapps-node-2
CrossbarCallflowAnanke
(и еще разные)
whapps-node-1
![Page 19: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/19.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Теперь в общем:
whapp
RabbitMQ
Ecallmgr
BigCouch
![Page 20: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/20.jpg)
FreeSWITCH
![Page 21: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/21.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Роль
freeswitch
Control commands
Call events
SIP/Media
SIP/Media
ecal
lmgr
Вне
шни
й м
ир
![Page 22: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/22.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Святые c-node
freeswitch
Control commands
Call events
ecal
lmgr
mod
_kaz
oo
Один из модулей
![Page 23: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/23.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
FreeSWITCH: масштабируемость
ecallmgr-1 ecallmgr-2
freeswitch-1freeswitch-2
Здесь есть местоеще одномуфрисвичу
? ?
![Page 24: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/24.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
FreeSWITCH: межнодовое взаимодействие
Kamailio
freeswitch-1
freeswitch-2
Плечо B
Плечо A
А в парковке
B в парковке
![Page 25: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/25.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
FreeSWITCH: межнодовое взаимодействие
freeswitch-1
freeswitch-2
Плечо B
Плечо Aпарковка
парковка
Cmd: redirect B to fs1
Переброс канала B
ecallmgr
![Page 26: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/26.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
FreeSWITCH: богатое API
Звонки:● uuid_kill● answer● uuid_bridge● uuid_transfer● play media
Протоколы:● http://● tonestream://● file://● http_cache://
![Page 27: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/27.jpg)
Kamailio
![Page 28: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/28.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Балансирующий прокси (rr)
INVITE +7123...
CallerKamailio
freeswitch-1
freeswitch-2
INVITE
![Page 29: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/29.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Балансирующий прокси (keep-alive)
kamailio
freeswitch-1
freeswitch-1
PING
![Page 30: KAZOOMEETUP MOSCOW 2015. Максим Кржеменевский. Масштабируемость и отказоустойчивость KAZOO](https://reader034.vdocuments.net/reader034/viewer/2022052514/58a804dc1a28ab3d6e8b4989/html5/thumbnails/30.jpg)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Повышаем надежность kamailio
kamailio-2kamailio-1 kamailio-3
100.YY.39.XX