Come è iniziato il meme "Rails non può ridimensionare"?

4

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?

    
posta Andrew Grimm 10.04.2011 - 07:34
fonte

5 risposte

10

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.

    
risposta data 10.04.2011 - 12:26
fonte
8

Bene, per ridimensionare, hai bisogno di prestazioni ragionevoli per linea di codice, giusto? Non sto parlando di livelli C ++, ma ... controlla

link

per esempio su heapsort

Ma hey, Ruby è più veloce di vbscript!

    
risposta data 11.04.2011 - 06:46
fonte
7

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

    
risposta data 10.04.2011 - 07:57
fonte
3

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:

link

link

"miti di rotaie" di DHH che documentano 400 riavvii al giorno:

link

E naturalmente il famigerato rails è un ghetto rant di Zed Shaw.

    
risposta data 11.04.2011 - 12:43
fonte
2

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.

    
risposta data 11.04.2011 - 14:52
fonte

Leggi altre domande sui tag