View
302
Download
6
Category
Preview:
Citation preview
Масштабируемость Масштабируемость и отказоустойчивость KAZOOи отказоустойчивость KAZOO
Кржеменевский Максим, SIPLABS
Пути масштабирования
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Вертикальный
(Не в этой презентации)
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Горизонтальный
“Кошки размножаются умножением”
Масштабирование СУБД BigCouch
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Параметры распределения данных:
● N – количество реплик документа● W – количество записей при создании● R – количество чтений при доступе● Z – количество различных зон, в которые производится запись
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Горизонтальное масштабирование:
● Автоматическая репликация● Использование протокола HTTP● Консистентность данных (запрос через любой сервер)
HAProxy
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Плюсы:
● Прост● Быстр
В KAZOO распределяет запросы между узлами БД
Масштабирование RabbitMQ
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
RabbitMQ и масштабируемость:
● Распределение нагрузки через очереди● Коммуникация приложений
node-2 node-3
node-4
RabbitMQ broker
node-1
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
RabbitMQ и отказоустойчивость
RabbitMQкластер
Средства Erlang
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Приложения KAZOO:
1) Ecallmgr2) Все остальные
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Ecallmgr (keep-alive)
freeswitch-1
freeswitch-3
freeswitch-2
PING
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Ecallmgr (call processing)
freeswitch-1
freeswitch-3
freeswitch-2
fs APIfs API
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Ecallmgr
ecallmgr
ecallmgr-node-2
ecallmgr
ecallmgr-node-1
Это отдельное приложение и живет на своей собственной ноде
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
whapps-ы:
● Это логика● Одно приложение – одна задача● Каждая нода несет полный комплект
CrossbarCallflowAnanke
(и еще разные)
whapps-node-2
CrossbarCallflowAnanke
(и еще разные)
whapps-node-1
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Теперь в общем:
whapp
RabbitMQ
Ecallmgr
BigCouch
FreeSWITCH
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Роль
freeswitch
Control commands
Call events
SIP/Media
SIP/Media
ecal
lmgr
Вне
шни
й м
ир
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Святые c-node
freeswitch
Control commands
Call events
ecal
lmgr
mod
_kaz
oo
Один из модулей
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
FreeSWITCH: масштабируемость
ecallmgr-1 ecallmgr-2
freeswitch-1freeswitch-2
Здесь есть местоеще одномуфрисвичу
? ?
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
FreeSWITCH: межнодовое взаимодействие
Kamailio
freeswitch-1
freeswitch-2
Плечо B
Плечо A
А в парковке
B в парковке
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
FreeSWITCH: межнодовое взаимодействие
freeswitch-1
freeswitch-2
Плечо B
Плечо Aпарковка
парковка
Cmd: redirect B to fs1
Переброс канала B
ecallmgr
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
FreeSWITCH: богатое API
Звонки:● uuid_kill● answer● uuid_bridge● uuid_transfer● play media
Протоколы:● http://● tonestream://● file://● http_cache://
Kamailio
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Балансирующий прокси (rr)
INVITE +7123...
CallerKamailio
freeswitch-1
freeswitch-2
INVITE
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Балансирующий прокси (keep-alive)
kamailio
freeswitch-1
freeswitch-1
PING
Масштабируемость и отказоустойчивость KAZOOМасштабируемость и отказоустойчивость KAZOO
Повышаем надежность kamailio
kamailio-2kamailio-1 kamailio-3
100.YY.39.XX
Recommended