Проксирование и автошардинг в Tarantool/Box
Originally published on Habr
После многочисленных обсуждений был создан черновик спецификации на проксирование и автошардинг в Tarantool/Box.
Общая идея состоит в том, что для скрытия наличия шардинга от пользователя на локальном хосте приложения (PHP/Perl/etc) поднимается прокси, которая маршрутизирует запросы на шарды и умеет найти нужный ключ при решардинге.
Сам решардинг производится с помощью Lua на самих шардах. При этом прокси переносит наиболее горячие ключи на новые шарды при доступе к ним, что должно снизить нагрузку на систему во время решардинга.
Полная спецификация размещена на github wiki.
Было бы крайне полезно обсудить спецификацию на предмет потенциальных проблем, неучтённых ситуаций и удобства использования, прежде чем её реализовывать.