Может ли такой сайт, как Twitter, работать в App Engine? - PullRequest
1 голос
/ 14 февраля 2010

Просто интересно узнать. У кого-нибудь есть мысли по этому поводу?

Ответы [ 5 ]

6 голосов
/ 18 февраля 2010

Исходя из вашего обновления, я предполагаю, что ваш фактический вопрос заключается в том, может ли GAE (Google AppEngine) обрабатывать объем, сопоставимый с объемом Twitter.

Твиттер получает порядка 20-30 миллионов твитов в день. Помимо поддержки публикации твитов, они также должны раздавать их всем, кто их читает. Я вытащу цифры из воздуха и угадаю, что типичный твит читается 20 раз (действительное число искажено: несколько твитов читаются огромными числами, а другие, вероятно, никогда не читаются никем; также несколько систем пытаются прочитать каждый твит).

Итак, вопрос в том, может ли GAE поддерживать 500 миллионов запросов в день.

Согласно документации GAE платному (несвободному) приложению выделяется до 500 запросов в секунду. Это слишком мало в 10 раз, но это также говорит о том, что вы можете запрашивать дополнительные запросы в день, если это необходимо. Я уверен, что если бы вы позаботились о том, чтобы заплатить за это, Google с удовольствием выделит ресурсы для 10 приложений. Их инфраструктура, безусловно, может это поддерживать - это меньше, чем количество запросов, которые ежедневно поддерживает главная страница Google.

Так что ответ - да, GAE может поддерживать Twitter. (Похоже, ни один другой ресурс не представляет такой большой проблемы, как количество запросов.) Другой вопрос заключается в том, будет ли он ЛУЧШИМ и СТОИТ ли ЭФФЕКТИВНО запускать приложение такого размера в GAE; это будет зависеть от других факторов, но ответ, вероятно, «Нет». При таких масштабах вы можете сэкономить на собственном специализированном оборудовании (хотя было бы неплохо, чтобы Google оплатил все административные расходы).

4 голосов
/ 14 февраля 2010

Да, это возможно. Поддерживаются Java, Python и постоянное хранилище. Этого достаточно, чтобы создать простой аналог твиттера.

2 голосов
/ 04 марта 2010

Я собираюсь сыграть адвоката дьявола и сказать, что определенно есть несколько ограничений, которые не позволят App Engine запускать все функции, которые есть у Twitter:

  • Пользовательская индексация в режиме реального времени для поиска. Есть несколько проектов для полнотекстового поиска, а также популярная проблема в трекере ошибок для полнотекстового поиска, которая будет реализована в будущем
  • Поддержка кометы не существует в App Engine. В некоторых частях Twitter используется комета
  • Твиттер имеет «Потоковый API» , который по сути является HTTP-соединением, которое никогда не закрывается. Это также известно как пожарный шланг. Поскольку запросы имеют ограничение в 30 секунд, вы не сможете реализовать это

Twitter - это сайт с уникальным набором проблем масштабируемости. Определенно возможно обслуживать подобный сайт с характеристиками трафика Twitter в App Engine, но невозможно создать точный клон Twitter, используя только App Engine.

0 голосов
/ 28 февраля 2010

В App Engine сегодня работает приложение для микроблогов в стиле Twitter под названием Jaiku . Он принадлежит Google и с открытым исходным кодом , так что вы можете создать свой собственный, если хотите.

0 голосов
/ 15 февраля 2010

Зависит от ваших требований и дизайна для такого сайта. Либо придумайте дизайн, а затем посмотрите, будет ли он соответствовать GAE. Иначе, спроектируйте это так, чтобы оно вписывалось в GAE. Если одним из ваших требований является масштабируемость, то GAE обещает, что

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