Действительно ли развертывание Redis на отдельном узле эффективно?

#redis #memcached #in-memory-database

#redis #memcached #база данных в памяти

Вопрос:

На основе приведенных ниже сравнений латентности, приведенных вhttps://gist.github.com/jboner/2841832 Чтение с SSD-накопителя почти аналогично сетевому чтению в том же центре обработки данных с точки зрения стоимости.

Я пытаюсь понять, будет ли развертывание Redis на отдельном узле / кластере эффективным из-за введенной задержки в сети? Не будет ли развертывание Redis на самих узлах приложений лучшим вариантом? Предполагается, что узлы приложений используют SSD-диски, а данные распределены по узлам приложений.

Это для большого развертывания с более чем 10 узлами приложений.

Ответ №1:

Очевидно, что если вы сможете запустить Redis на том же узле, что и ваше приложение, вы получите лучшую задержку, чем по сети (и вы также можете использовать сокет Unix, чтобы уменьшить ее еще больше).

Но вопросы, которые вам нужно задать себе:

  1. Как вы собираетесь распределять данные между узлами приложения?
  2. Как насчет высокой доступности?
  3. Есть ли случаи, когда одному узлу приложения потребуются данные с другого узла?
  4. Можете ли вы быть уверены, что нагрузка будет равномерно распределена между узлами, поэтому ни один узел Redis не выйдет из памяти?
  5. Как насчет масштабирования? Как вы собираетесь повторно загружать данные?