Я в некотором роде новичок, поэтому извиняюсь, если я упускаю что-то очевидное, так как мои исследования не привели меня к многому, что касается нашей в некоторой степени уникальной ситуации.
Я собираюсь перенести приложение php на облачные серверы, которое в настоящее время работает на одном сервере с использованием memcached на локальном хосте для хранения чрезвычайно малых объемов данных для каждого пользователя (не данных сеанса, а только переходных данных с высокой доступностью, которые пользователь -конкретный). Мы пытаемся сделать это масштабируемым, поскольку наш текущий веб-сервер начинает ограничивать одновременные соединения apache в редкие периоды пиковой нагрузки.
Мы будем запускать облачные веб-серверы через балансировщик нагрузки с привязкой к сеансу, но я не могу решить, нужно ли адаптировать приложение для подключения к memcached на автономном выделенном сервере, чтобы пул памяти мог использоваться всеми веб-серверы, или поддерживать часть памяти каждого облачного сервера для memcached и сохранять приложение, указанное на localhost, доверяя закреплению сеанса, чтобы гарантировать, что сервер, поддерживающий сеанс, также будет поддерживать пользовательские данные в своей памяти.
В настоящее время я думаю, что выделенный сервер memcached был бы более чистой реализацией, но, возможно, более сложным для масштабирования в долгосрочной перспективе, если мы в конечном итоге расширим использование memcached до более сложных данных. Принимая во внимание, что поддержание экземпляров memcached, запущенных на каждом облачном сервере, будет вводить больше ресурсов всякий раз, когда требуются дополнительные серверы (опять же, предполагая, что сервер, поддерживающий сеанс пользователя, может надежно искать кэшированные данные пользователя).
Я ценю чье-либо мнение, понимание или указание на какие-либо недостатки в моем понимании.
Я бы сказал, что оба способа верны, но я немного склоняюсь к использованию memcached для каждого сервера. Пока у вас нет общих данных в memcached.
С общим memcached вы получаете:
При использовании memcached для каждого сервера вы получаете