#google-app-engine #memcached #instances
#google-app-engine #memcached #экземпляры
Вопрос:
У меня есть довольно простой вопрос: в GAE, если я использую memcache для хранения некоторых данных после их первого извлечения из базы данных, если затем эти данные остаются в кэше примерно на 2 дня, все ли экземпляры указанного приложения «видят» их и извлекают из кэша? Или кэш отдельный для каждого экземпляра приложения?
Я спрашиваю это, потому что я видел, что из-за того, что GAE порождает отдельные процессы виртуальной машины (не потоки) для каждого нового экземпляра, необходимого приложению, материал, который раньше был согласован во всех экземплярах (в модели потоков), теперь фрагментирован для каждого экземпляра (процесса): например, контекст приложения servelet, который НЕ распространяется во всех экземплярах одного и того же приложения.
Итак, опять же, memcache состоит из нескольких экземпляров одного и того же приложения или он создает наборы кэшированных данных для каждого экземпляра / процесса?
Комментарии:
1. Данные согласованы только в нескольких потоках, если вы работаете на одной машине — наличие нескольких экземпляров на разных машинах неизбежно, если вы хотите масштабироваться.
Ответ №1:
Он согласован; GAE memcache запускается как служба, отдельная от ваших экземпляров.