Как построить распределенное, отказоустойчивое, быстрое хранилище данных?
В стиле Keyvalue|IMDG, с C++-интерфейсом.
Итак, дана ситуация, в которой PM хочет горизонтальное масштабированиие и несколько точек входа на запись.
При этом, поскольку система работает с достаточно высокими требованиями по доступности, нельзя тратить время на ручное переключение Master-slave, поэтому редис пролетает.
Размер рабочего сета - порядка 20 гб (т.е. в оперативку влезет).
В медленном рассмотрении/тестировании - Infinispan, Elliptics, Riak.
Redis не хотим - Master/Slave с ручным переключением.
Coherence и Gemfire, скорее всего, пролетают.
Если кто использовал такие штуки в продакшне, порекомендуйте, пожалуйста.
Я использовал бенчмарк от Basho, настроенный на 1 put/10 get ключей. сгенеренных по такому-то диапазону интов )) Метод доступа - нативный C
клиент через Protobuf.