Могу ли я использовать twemproxy в качестве балансировщика нагрузки для пула экземпляров redis, в зависимости от размера очереди redis (количество ключей на экземпляр)? Может ли twemproxy отключиться от одного из экземпляров redis, если он достигает предварительно сконфигурированного максимального количества ключей в своей базе данных?Могу ли я использовать twemproxy для балансировки нагрузки по размеру очереди redis?
Если да, то как я могу это сделать (я очень новичок в redis и прочее, поэтому я просто не могу получить это из документации)?
Заранее спасибо.
Спасибо, приятель, я получил вашу мысль. В моем случае есть приложение java, которое обслуживает каждый экземпляр redis, вытаскивая данные в очередь, и если он падает, очередь будет переполнена довольно быстро, а redis упадет из-за нехватки оперативной памяти, потеряв мои данные ... Итак, это довольно для меня важно, чтобы балансир работал точно так же, как я описал ((Есть ли у вас какие-либо предложения, как я могу заставить это работать? .. –
Я не уверен, что получаю ограничение количества ключей в очереди поможет вам. Если вы правильно поняли, что используете redis для хранения каких-либо заданий, которые будут обрабатываться вашим Java-приложением, предположим, что у вас есть возможность ограничить размер очереди на один экземпляр. Если у вас есть два экземпляра за прокси, и один достигнет определенного предела, прокси начнет переадресацию в другой экземпляр, а затем этот скоро достигнет определенного предела. Как это лучше/отличается от распределения ключей более или менее равномерно по обоим экземплярам? – udondan
Ключ к потере данных является избыточность (реплик) и выполнение redis с сохранением (запись данных на диск). Если ваша проблема заключается в том, что у ваших хостов заканчивается RAM, [виртуальная память] (http://redis.io/topics/virtual-memory) может быть вам интересна. (хотя устарели) – udondan