Как связать людей со случайными партнерами в приложении чата? - PullRequest
2 голосов
/ 22 сентября 2011

Я занимаюсь разработкой приложения, которое будет размещено на GAE. В основном, мое приложение должно произвольно связывать людей.

Я делал подобное приложение раньше, где я назначал уникальный идентификатор каждому пользователю. Как только пользователь входит в приложение, его идентификатор будет вставлен в статический синхронизированный LinkedHashSet (который действует как глобальное хранилище данных для приложения). Аналогичным образом второй пользователь входит в синхронизированный LinkedHashSet, если он находит идентификатор, отличный от своего идентификатора, после чего они подключаются. Второй пользователь удаляет свои идентификаторы из LinkedHashSet и вставляет их в базу данных Mysql в виде пар. Отметим, что доступ к LinkedHashSet синхронизирован.

Теперь я хотел спроектировать подобное приложение в облачной среде, например, GAE. Но статические переменные в GAE не являются глобальными, поскольку распределенная природа движка приложения. Как написать подобный код в облачной среде?

1 Ответ

1 голос
/ 23 сентября 2011

Существует несколько подходов к этой проблеме.Вы можете очень хорошо использовать комбинацию Channel API, DataStore API, Memcache API для предоставления масштабируемого приложения для чата в реальном времени.Вот хорошая статья о создании многопользовательского приложения для чата - http://codecontrol.blogspot.com/2010/12/multiuser-chatroom-with-app-engine.html, http://code.google.com/p/channel-tac-toe/

Вам нужно будет использовать хранилище данных для хранения LinkedHashSet и далее кэшировать его в memcache для более быстрого доступа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...