Un meme su Rails è che Rails non può scalare . È noto come è iniziato questo meme? C'è stato un particolare post sul blog che ha sostenuto questo è il caso?
Un meme su Rails è che Rails non può scalare . È noto come è iniziato questo meme? C'è stato un particolare post sul blog che ha sostenuto questo è il caso?
Direi che ci sono dei veri problemi tecnici dietro di esso. L'implementazione di Ruby (almeno ruby 1.8) non è progettata per la concorrenza: ruby 1.8 ha un blocco dell'interprete globale e utilizza thread verdi anziché i thread nativi del sistema operativo.
Quindi, per ridimensionare un'applicazione web, devi eseguire più interpreti ruby e farli funzionare insieme.
Nota: non mi occupo di sviluppo web ed è da tanto che non uso rubino. Forse Ruby 1.9 o JRuby non hanno questi problemi. Forse il blocco globale non è un problema reale per il ridimensionamento.
Penso che sia stato perché Twitter è stato guidato da Ruby on Rails e intorno a mars-may 2008 hanno avuto dei periodi di inattività significativi che hanno avviato il meme
Come già detto, ci sono state diverse startup "hot" che hanno subito problemi di ridimensionamento. Credo che sia da lì che è nata la questione.
Tuttavia, ci sono stati problemi di prestazioni con ruby / ror nella storia prima di questi crolli.
Vedi: interprete di Ruby che perde memoria nei processi a esecuzione prolungata:
"miti di rotaie" di DHH che documentano 400 riavvii al giorno:
E naturalmente il famigerato rails è un ghetto rant di Zed Shaw.
Immagino che abbia a che fare con il fatto che Rails si basa sul pattern Active Record, che è veloce e facile da usare, ma può scivolare in una costante battaglia di refactoring mano a mano che la complessità della tua app aumenta. Penso che sia per questo che senti parlare di startup in particolare che hanno problemi: sono in grado di far funzionare qualcosa in fretta, ma man mano che aggiungono funzionalità, la complessità aumenta e questo è quando iniziano i problemi.
Leggi altre domande sui tag history ruby-on-rails