31
Масштабируемость Масштабируемость и отказоустойчивость KAZOO и отказоустойчивость KAZOO Кржеменевский Максим, SIPLABS

Масштабируемость и отказоустойчивость KAZOO

  • Upload
    -

  • View
    33

  • Download
    4

Embed Size (px)

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

СПАСИБО ЗА ВНИМАНИЕ!

[email protected]/in/regikul