Слушатели этого доклада получат представление о том, как построить отказоустойчивое, быстрое, простое и легко масштабируемое решение на базе Nginx и Tarantool.
Коротко о главном:
+ Обзор внутреннего устройства шардинга в Tarantool.
+ Обзор Tarantool upstream модуля для Nginx.
+ Результаты нагрузочного тестирования Tarantool шардинга в связке с Nginx модулем.
+ Live-demo: распределенное отображение графа категорий Wikipedia в СУБД Tarantool с единой точкой входа и возможностью реалтайм поиска по категориям.
20. Исключение
kill Node2 by dead timeout
zone 1 has no active connections
---
Node1:
Node2: {'try': 10, 'ts': 1434368360}
Node1: {'try': 0, 'ts': 1434368360}
...
27. Конфигурация
local cfg = {
servers = { -- сервера для шардинга
{ uri = 'host1:3301', zone = 'z1' };
{ uri = 'host2:3301', zone = 'z2' };
};
login = 'my_user';
password = 'i_love_bananas';
redundancy = 2; -- избыточность
binary = 3301; -- порт
}
28.
29. Реальные условия
Железо
• 4 ядра 2,6 GHz
• 64 GB оперативной памяти
Данные
• 100 ГБ данных, размер запроса 2 КБ(JSON)
• избыточность(2 датацентра)
Кластер
• 4 storage сервера(16 инстансов tarantool)
• 4 application сервера(16 инстансов tarantool)
• Клиентские машины для создания нагрузки