SlideShare una empresa de Scribd logo
1 de 42
Балансировка
"на скорости проводов".
Без ASIC, без
ограничений
Андрей Домась, Одноклассники
Вячеслав Морозов, NFWare
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Кто мы такие?
АНДРЕЙ ДОМАСЬ
Ведущий cистемный администратор
ВЯЧЕСЛАВ МОРОЗОВ
Технический директор
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
О чем?
Балансировка в Одноклассниках
Проблема с SYN-flood
Решение от NFWare
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Балансировка в OK
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Когда-то давно
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Когда-то давно
Много дорабатывали
Баги
Плохо документирован
Однопоточные проверки (30-40 мин
если сломалось много серверов)
Настраивается из файла (сложно
автоматизировать)
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Не так давно
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Не так давно
/check?mandatoryifs=wan568,lan428&lvsif=tunl0&lvsifip=x.x.x.x&otherifsopts=advmss:1440
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Не так давно
/check?mandatoryifs=wan568,lan428&lvsif=tunl0&lvsifip=x.x.x.x&otherifsopts=advmss:1440
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Не так давно
/check?mandatoryifs=wan568,lan428&lvsif=tunl0&lvsifip=x.x.x.x&otherifsopts=advmss:1440
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Сейчас
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Сейчас
app-group1.cloud.local.
app-group1.cloud.local. 10 A 192.168.0.1
app-group1.cloud.local. 10 A 192.168.0.2
app-group1.cloud.local. 10 A 192.168.0.3
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
DDoS (SYN-flood)
Q1 2016 peaks: 120+ Mpps
https://www.incapsula.com/ddos-report/ddos-report-q1-2016.html
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Тесты (ip_vs)
Connection Rate
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Тонкое место
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Чем плох ip_vs
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Что решили попробовать
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Тесты
6 x 10G, no LACP
Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz
Connections/sec
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Тесты
6 x 10G, no LACP
Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz
Connections/sec
41.8
Mcps
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Тесты
Connections/secConnections/sec
x200ip_vs NFWare
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Как это работает
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Как это работает (HA)
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
NFWare Load Balancer
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Гибридная многоядерная архитектура
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Гибридная многоядерная архитектура
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Гибридная многоядерная архитектура
Scalability
Pipeline
Better resource
utilization
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Распределение нагрузки между ядрами
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Распределение нагрузки между ядрами
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Распределение нагрузки между ядрами
SW RSS:
Поддержка
различных карт
Smart hash
Улучшение
использлования PCIe
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Оптимизация работы одного ядра
● Fast path: сессия существует, отправка пакетов
в сторону выбранного сервера назначения
Поиск существующих соединений в таблице
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Оптимизация работы одного ядра
● Fast path: сессия существует, отправка пакетов
в сторону выбранного сервера назначения
● Slow path: Новая сессия
Поиск существующих соединений в таблице
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Оптимизация работы одного ядра
● Fast path: сессия существует, отправка пакетов
в сторону выбранного сервера назначения
● Slow path: Новая сессия
Поиск существующих соединений в таблице Создание новой сессии
● Поиск виртуального сервиса
● Применение правил шедулера
● Отправка пакета в сторону выбранного сервера
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Slow path: IPVS
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Slow path: IPVS
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Slow path: IPVS
RCU
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Slow path: NFWare
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Slow path: NFWare
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Slow path: NFWare
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
DDoS Protection | Борьба с SYN-Flood
Срабатывание по пороговому значению
Освобождение произвольных сессий - в
результате может не быть места в hash bucket
Блокировка всей таблицы
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
DDoS Protection | Борьба с SYN-Flood
Срабатывание по пороговому значению
Освобождение произвольных сессий - в
результате может не быть места в hash bucket
Блокировка всей таблицы
Срабатывание при создании сессии
Освобождение сессии в целевом hash bucket
Lock-free
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
Преимущества
Бесшовная интеграция в существующую инфраструктуру
Увеличение производительности балансировки в 200 раз
Улучшение защиты от SYN-Flood
Сохранение функционала ip_vs: синхронизация сессий,
режимы (возможности балансировки)
Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений
ВОПРОСЫ?
Андрей Домась
andrey.domas@corp.mail.ru
Вячеслав Морозов
vmorozov@nfware.com

Más contenido relacionado

La actualidad más candente

Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Ontico
 
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Ontico
 
Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...
Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...
Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...
Ontico
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
Ontico
 
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Ontico
 
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
Ontico
 
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
Ontico
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Anton Baranov
 

La actualidad más candente (20)

Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
 
Аппаратная и программно-аппаратная дедупликация от EMC
Аппаратная и программно-аппаратная дедупликация от EMCАппаратная и программно-аппаратная дедупликация от EMC
Аппаратная и программно-аппаратная дедупликация от EMC
 
Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)
Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)
Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)
 
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
 
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
 
Nikolay
NikolayNikolay
Nikolay
 
Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...
Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...
Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...
 
MySQL 101
MySQL 101MySQL 101
MySQL 101
 
Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, п...
Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, п...Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, п...
Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, п...
 
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
 
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
 
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
 
Сегментируем 600 млн. пользователей в режиме реального времени каждый день. H...
Сегментируем 600 млн. пользователей в режиме реального времени каждый день. H...Сегментируем 600 млн. пользователей в режиме реального времени каждый день. H...
Сегментируем 600 млн. пользователей в режиме реального времени каждый день. H...
 
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
 
Вебинар "Разработка высоконагруженных и надежных систем": Введение
Вебинар "Разработка высоконагруженных и надежных систем": ВведениеВебинар "Разработка высоконагруженных и надежных систем": Введение
Вебинар "Разработка высоконагруженных и надежных систем": Введение
 
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
 
Приключения проекта от компьютера разработчика до серьезных нагрузок / Андрей...
Приключения проекта от компьютера разработчика до серьезных нагрузок / Андрей...Приключения проекта от компьютера разработчика до серьезных нагрузок / Андрей...
Приключения проекта от компьютера разработчика до серьезных нагрузок / Андрей...
 
КРИ 2013. "Базы данных в онлайн играх. От Аллодов до Skyforge". Андрей Фролов
КРИ 2013. "Базы данных в онлайн играх. От Аллодов до Skyforge". Андрей ФроловКРИ 2013. "Базы данных в онлайн играх. От Аллодов до Skyforge". Андрей Фролов
КРИ 2013. "Базы данных в онлайн играх. От Аллодов до Skyforge". Андрей Фролов
 

Más de Ontico

Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Ontico
 

Más de Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
 

Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare для Одноклассников / Андрей Домась, Вячеслав Морозов (Одноклассники)

  • 1. Балансировка "на скорости проводов". Без ASIC, без ограничений Андрей Домась, Одноклассники Вячеслав Морозов, NFWare
  • 2. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Кто мы такие? АНДРЕЙ ДОМАСЬ Ведущий cистемный администратор ВЯЧЕСЛАВ МОРОЗОВ Технический директор
  • 3. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений О чем? Балансировка в Одноклассниках Проблема с SYN-flood Решение от NFWare
  • 4. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Балансировка в OK
  • 5. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Когда-то давно
  • 6. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Когда-то давно Много дорабатывали Баги Плохо документирован Однопоточные проверки (30-40 мин если сломалось много серверов) Настраивается из файла (сложно автоматизировать)
  • 7. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Не так давно
  • 8. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Не так давно /check?mandatoryifs=wan568,lan428&lvsif=tunl0&lvsifip=x.x.x.x&otherifsopts=advmss:1440
  • 9. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Не так давно /check?mandatoryifs=wan568,lan428&lvsif=tunl0&lvsifip=x.x.x.x&otherifsopts=advmss:1440
  • 10. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Не так давно /check?mandatoryifs=wan568,lan428&lvsif=tunl0&lvsifip=x.x.x.x&otherifsopts=advmss:1440
  • 11. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Сейчас
  • 12. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Сейчас app-group1.cloud.local. app-group1.cloud.local. 10 A 192.168.0.1 app-group1.cloud.local. 10 A 192.168.0.2 app-group1.cloud.local. 10 A 192.168.0.3
  • 13. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений DDoS (SYN-flood) Q1 2016 peaks: 120+ Mpps https://www.incapsula.com/ddos-report/ddos-report-q1-2016.html
  • 14. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Тесты (ip_vs) Connection Rate
  • 15. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Тонкое место
  • 16. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Чем плох ip_vs
  • 17. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Что решили попробовать
  • 18. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Тесты 6 x 10G, no LACP Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz Connections/sec
  • 19. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Тесты 6 x 10G, no LACP Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz Connections/sec 41.8 Mcps
  • 20. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Тесты Connections/secConnections/sec x200ip_vs NFWare
  • 21. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Как это работает
  • 22. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Как это работает (HA)
  • 23. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений NFWare Load Balancer
  • 24. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Гибридная многоядерная архитектура
  • 25. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Гибридная многоядерная архитектура
  • 26. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Гибридная многоядерная архитектура Scalability Pipeline Better resource utilization
  • 27. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Распределение нагрузки между ядрами
  • 28. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Распределение нагрузки между ядрами
  • 29. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Распределение нагрузки между ядрами SW RSS: Поддержка различных карт Smart hash Улучшение использлования PCIe
  • 30. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Оптимизация работы одного ядра ● Fast path: сессия существует, отправка пакетов в сторону выбранного сервера назначения Поиск существующих соединений в таблице
  • 31. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Оптимизация работы одного ядра ● Fast path: сессия существует, отправка пакетов в сторону выбранного сервера назначения ● Slow path: Новая сессия Поиск существующих соединений в таблице
  • 32. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Оптимизация работы одного ядра ● Fast path: сессия существует, отправка пакетов в сторону выбранного сервера назначения ● Slow path: Новая сессия Поиск существующих соединений в таблице Создание новой сессии ● Поиск виртуального сервиса ● Применение правил шедулера ● Отправка пакета в сторону выбранного сервера
  • 33. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Slow path: IPVS
  • 34. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Slow path: IPVS
  • 35. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Slow path: IPVS RCU
  • 36. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Slow path: NFWare
  • 37. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Slow path: NFWare
  • 38. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Slow path: NFWare
  • 39. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений DDoS Protection | Борьба с SYN-Flood Срабатывание по пороговому значению Освобождение произвольных сессий - в результате может не быть места в hash bucket Блокировка всей таблицы
  • 40. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений DDoS Protection | Борьба с SYN-Flood Срабатывание по пороговому значению Освобождение произвольных сессий - в результате может не быть места в hash bucket Блокировка всей таблицы Срабатывание при создании сессии Освобождение сессии в целевом hash bucket Lock-free
  • 41. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений Преимущества Бесшовная интеграция в существующую инфраструктуру Увеличение производительности балансировки в 200 раз Улучшение защиты от SYN-Flood Сохранение функционала ip_vs: синхронизация сессий, режимы (возможности балансировки)
  • 42. Андрей Домась, Вячеслав Морозов: Балансировка "на скорости проводов". Без ASIC, без ограничений ВОПРОСЫ? Андрей Домась andrey.domas@corp.mail.ru Вячеслав Морозов vmorozov@nfware.com