Комментарии 6
Memcache обычно используют как самое быстрое ключ-значение сетевое хранилище.
На сколько выросли задержки и разброс времени ответа при использовании mcrouter?
Что происходит с приложением во время падения mcrouter?
Какова задержка восстановления?
+1
Развернутого и полномасштабного нагрузочного тестирования мы не проводили. В тестах на стенде, приближенном к боевым условиям, различий между mcrouter+memcached и plain memcached выявлено не было. Количество запросов при этом практически на 2 порядка превышало то, что выдает приложение в своей повседневной работе. Для сравнительного тестирования производительности нужно использовать другой подход и инструменты. Возможно опишу это в своей следующей статье.
У нас было два варианта использования mcrouter:
У нас было два варианта использования mcrouter:
- StatefulSet из нескольких реплик. В таком случае запросы к mcrouter-ам равномерно балансируются средствами kubernetes, а в случае падения реплик они будут автоматически исключены из балансировки. Конечно, это происходит не мгновенно и часть запросов может пропасть.
- sidecar-контейнер в pod с PHP — даст zero latency при обращении к mcrouter, общий localhost ведь. Но в данном случае нужна корректная liveness проба у основного приложения, чтобы в случае падения контейнера mcrouter трафик с pod-a снимался.
+1
отчего не tarantool c memcached wrapper и репликацией? imho, самое простое и доступное решение.
+1
Спасибо, мы не обратили внимания, но обязательно посмотрим на tarantool. Но пока, на первый взгляд последнему коммиту в репозитории github.com/tarantool/memcached скоро стукнет год, а внизу README красуется предупреждение: «This rock is in early beta». Хотелось придерживаться поверенных решений.
+1
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Используем mcrouter для горизонтального масштабирования memcached