Как узлы Elasticache сохраняют данные

предположим, я создал кластер кеша с 4 узлами. Теперь у меня есть 1 единственный URL-адрес конфигурации для кластера эластичного кеша. и когда я нажимаю URL-адрес конфигурации... он выбирает случайный узел и сохраняет мои данные, и эти узлы синхронизируются.

Теперь мой вопрос заключается в том, что ... предположим, я сохранил 5 ГБ данных, тогда они будут храниться на моих обоих узлах? Это означает, что в моих 4 узлах будет занято 20 ГБ, что нелогично.

Может кто-нибудь объяснить, как это работает и есть ли решение, чтобы избавиться от этой проблемы?

Я хотел знать, как он хранит и обслуживает данные на самом деле.


person ggtffg    schedule 16.04.2014    source источник


Ответы (1)


Это зависит от механизма кэширования и конфигурации, которую вы используете с Elasticache. Например, если вы используете Redis с репликацией, это потребует 10 ГБ (5 на главном и 5 на подчиненном). Если вы используете Memcached без репликации, данные будут храниться только на выбранном узле, поэтому вы будете использовать ~ 1,25 ГБ на узел.

person Julio Faerman    schedule 16.04.2014
comment
Я использую механизм memcached и имею 2 узла в кластере. В качестве конечной точки я использую конечную точку конфигурации, за которой работает автоматическое обнаружение ... теперь, как я узнаю, что мои данные хранятся на каком узле? Будет ли эластичный кеш реплицировать мои данные на обоих узлах? - person ggtffg; 16.04.2014
comment
Согласно этой ссылке: - docs.aws.amazon.com/ Данные AmazonElastiCache/latest/UserGuide/ хранятся отдельно на узлах и в конечной точке конфигурации на основе некоторого алгоритма хеширования на основе ключа. Он создает конечную точку узла для получения тех же данных. Он заключает, что узлы elasticache (memcached) не реплицируют данные. Пожалуйста, поправьте, если я ошибаюсь. - person ggtffg; 16.04.2014
comment
Да, Memcached не реплицирует данные по умолчанию, вам не нужно заботиться о том, какие данные кешируются на каком узле, так как узлы кеша должны быть одноразовыми. Если вам нужна сохраняемость и/или репликация master-slave, взгляните на Redis. Если вам нужна репликация с несколькими мастерами, проверьте другие механизмы сетки кеша/данных, такие как Infinispan, Hazelcast, Coherence и т. д. (это не значит, что redis или memcached не могут быть сеткой данных, я * очень * упрощенно в этом комментарии) - person Julio Faerman; 17.04.2014