memcached в среде aws, лучшая практика?

1

Мы говорим о реализации memcached в нашем php-приложении, используя php-клиент memcache. Мы размещаемся в среде AWS, в которой в настоящее время используется 7 интерфейсных серверов для доступа к одной базе данных. Конечно, мы хотим разделить кеш между всеми серверами. Должны ли мы установить memcached на всех интерфейсных серверах и просто добавить их в пул memcached (callind addserver (xx.xx.xxx.xx)), или мы должны иметь выделенные компьютеры как "серверы memcached"?

Теги:
caching
memcached

2 ответа

1
Лучший ответ

Вы должны пойти с кластером ElastiCache, используя механизм Memcached с выделенными узлами/серверами, образующими кластер.
Обратите внимание, что в Memcached узлы не знают друг о друге, но Memcached Client обрабатывает распределение данных и балансировку нагрузки в кластере. Таким образом, ваши интерфейсные серверы будут совместно использовать кластер Memcached, не беспокоясь о том, какой узел в настоящее время хранит данные.

Важное значение здесь - использовать функцию автоматического обнаружения, предоставляемую ElastiCache в развертывании AWS, где вашему приложению не требуется вручную подключаться к отдельным узлам кеша; вместо этого ваше приложение подключается к конечной точке конфигурации. Серверу приложений /front-end не нужно знать количество узлов в кластере, и любое количество узлов может быть добавлено или удалено в зависимости от пропускной способности и загрузки приложения.
Более подробную информацию о функции автоматического обнаружения можно найти здесь.

Это действительно помогло нам в нашем производственном развертывании, где мы горизонтально масштабировали наш кластер Memcached с 2 до 16 узлов без перезагрузки сервера приложений.

  • 0
    Спасибо Анкур! Мы уже делаем это! ;)
1

Я бы пошел с экземпляром ElastiCache, который запускает memcahced engine (если вы хотите придерживаться memcahced).

Мы использовали эту установку в производстве, и ее намного проще поддерживать, чем несколько отдельных установок. Кроме того, вам не нужно решать проблемы непоследовательности.

  • 0
    Спасибо за Ваш ответ! Мы используем ElastiCache! Все идет нормально! :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню