Есть ли у кого-нибудь информация об архитектуре твиттера?Как создать масштабируемую услугу Twitter?
Несколько конкретных вопросов я особенно интересно:
Я знаю, что они используют очереди сообщений. Но для чего именно они используют очереди?
Они «дублируют» твиты? Если да, то как? Например, скажем, у пользователя есть 10 000 последователей, и он делает твит «привет мир». Твиттер хранит «мир привет» только один раз, и каждый из этих 10 000 последователей должен будет прочитать этот твит из той же таблицы базы данных, или у каждого последующего есть свои данные «твиты, которые я следую», а «привет мир» дублируется 10 000 раз, раз для каждого последователя?
В чем-то связано с вышеизложенным: как они обманывают свои данные, отправителем чириканья, чириканцем, твитом ID, твитом datetime или чем-то еще?
Знаете ли вы, какие технологии они используют? Я читал о MySQL, RoR, Starling, Scala, memcached. Но это было давно, и информация была не очень подробной. Любая обновленная информация или более подробная информация?
http://www.infoq.com/news/2009/06/Twitter-Architecture – JoseK