Node.js решение распределенной общей памяти

У меня есть несколько серверов node.js с балансировкой нагрузки, которые должны иметь некоторое общее состояние. Все серверы имеют высокую частоту при чтении и записи. Что было бы хорошим подходом для согласованной общей памяти среди всех случаев, которые не были бы как можно более узким местом? Первоначально я пошел с Redis, который все еще вариант, если нет лучших подходов для решения этой проблемы. Кроме того, будет ли центральный серверный подход хорошей альтернативой?

1 ответ

Решение

Redis - это хорошее решение для получения высокодоступных данных, вы можете легко масштабировать redis, используя архитектуру master-slave, в которой все записи идут в master, чьи данные реплицируются во все slave-устройства, все чтение происходит из slave.

Но так как данные являются высокодоступными, теорема CAP предполагает, что мы не можем гарантировать последовательность, Redis не является исключением из этой теоремы

Поскольку вам нужно единообразное хранилище общих данных, я бы посоветовал прочитать больше о гарантиях согласованности Redis

Я хотел бы предложить хранилище данных в СУБД в памяти, но оно в основном зависит от того, какие данные вы храните, для чего они будут использоваться, как вы будете запрашивать их и т. Д.

Другие вопросы по тегам