2012-03-02 2 views
2

Я использую язык go, и кажется хорошей практикой общаться между различными потоками/программами по каналам и замкам вместо хранилища данных. Однако кажется, что между двумя экземплярами невозможно, если работает более одного экземпляра. Есть ли способ заставить его не открывать второй, даже если есть высокий трафик?Как ограничить экземпляры движка Google только одним?

+0

Вы пытались использовать memcache вместо хранилища данных для синхронизации потоков? –

+0

Я не пробовал ни одного из них. Я хотел синхронизировать их с каналами и замками. Наверное, я недостаточно разбираюсь в хорошей практике в Google Go. Первое, что я сделаю, - это изучить хорошие практики для синхронизации потоков. –

ответ

0

Вы должны использовать Backends, если хотите, чтобы контролировать размножение и выключение экземпляров.

9

Чтобы ответить на вопросы в заголовке: Перейти на панель инструментов приложения, слева вы найдете ссылку Application settings. В пользовательском интерфейсе администратора вы найдете два ползунка, перетащите первый в самый левый и второй (Min pending Latency) в максимальное допустимое значение (справа). И последнее, но не менее важное: оптимизируйте время ответа на запрос.

Даже если вы сделаете это, нет гарантии, что GAE не будет запускать второй экземпляр.

+0

Это должен быть принятый ответ, так как ответ @ proppy устарел и использует устаревшую технологию. –

+0

Является ли этот ответ также устаревшим? Я больше не вижу ползунок «мин ожидающей задержки» на странице настроек приложения. –

0

Я не думаю, что это абсолютно правильный подход. Вы должны думать о проблемах с масштабируемостью с первого дня вашего дизайна. Как сказал Кристофер, я поеду с memcache!

+0

Возможно, вы правы, и я это сделаю. Я не выбрал вас в качестве правильного ответа, чтобы помочь гуглерам найти ответ, если они действительно хотят контролировать нереста и закрытие isntances. –

Смежные вопросы