Facebook и Twitter не являются средними приложениями Rails.Это компании.Технология, которая ими управляет, распространяется и в основном на заказ, особенно в случае с Facebook.
Часть, за которую вы, кажется, цепляетесь, - это то, как они определяют, кого уведомить быстрым и масштабируемым способом.Вот где дерьмо становится реальностью.Вы можете найти много информации об архитектуре, стоящей за каждым из них, и, безусловно, есть много отличных вещей, которые помогут вам подумать об этих вещах, но в конечном итоге ни одна из них не будет чем-то, что вы внедрите в любое приложение, которое вы используете ».перестройка.
http://www.quora.com/What-is-Facebooks-architecture
Архитектура Facebook
http://www.infoq.com/news/2009/06/Twitter-Architecture
http://engineering.twitter.com/2010/10/twitters-new-search-architecture.html
Много больше сочногоподробности в Quora.
К сожалению, ничто из этого не приближает вас к вашей цели.Я думаю, что наиболее реалистичной вещью для вас, чтобы начать с woud, будет просто подключить сервис, такой как Pusher , чтобы отправлять сообщения клиентам, не беспокоясь об этом, используйте ActiveRecord Observer добавить уведомления в фоновую очередь , где работники фактически отправляют эти уведомления в Pusher.Это рабочий день или меньше, и он должен хорошо масштабироваться до 10 000 уведомлений в день.Как только у вас начнутся проблемы с производительностью, уговорите Observer и Pusher на что-то вроде Goliath, которое может обрабатывать обе задачи локально.
Итог, узнайте, что вы можете о больших и опытных системах, которые прошли через все, но в основном просто посмотреть, с какими проблемами они столкнулись и как они их решили .Эти методы не одинаковы даже для больших парней, и они будут различаться для каждой реализации.
Надеюсь, это поможет вам в правильном направлении.:)