Стандартная конфигурация кластера с шардированием происходит следующим образом:
- Устанавливается кластер шардов. Представим что это 2 репликасета(мастер реплика).
- Устанавливается прокси роутер на tarantool, на котором так же необходимо дописывать логику для походов в storage, который занимается тем что следит где какой бакет находится и ходить напрямую.
Тем самым мы избавляемся от дополнительной точки отказа, а так же уменьшаем число сетевых походов. Так же это позволяет адаптировать работу с шардами к комьюнити Golang. Увеличить поддержку, удобство отладки и производительность.
Цель и задача библиотеки заключаются в том, чтобы дать пользователям возможность ходить в репликасеты не используя Tarantool Router инсталяцию, а резолвить бакеты и понимать в какой сторадж ходить прямо из вашего сервиса.
Tarantool — платформа in-memory вычислений с гибкой схемой данных для эффективного создания высоконагруженных приложений. Включает в себя базу данных и сервер приложений на Lua. Подробнее ознакомиться можно на официальном сайте Tarantool.
Подробнее про технологию виртуального шардирования а так же про библиотеку vhsard вы можете найти в https://www.youtube.com/watch?v=_9zUB0vmRxM А так же внутри оригинальной библиотеки vshard.
- Для установки кластера вам потребуются следующие зависимости
- Tarantool 2.x, для ОС Mac OS необходимо устанавливать с помощью tt install
- Сконфигурировать кластер и библиотеку, примеры можно подробнее посмотреть в examples