2012-08-13 12 views
5

Ho utilizzato SilkJS per alcuni miei progetti di hobby. Finora, le prestazioni sono straordinarie e adoro assolutamente poter usare JavaScript sia per il front-end che per il back-end. Sto pensando di usarlo in alcuni progetti commerciali, ma voglio fare la mia due diligence sulla fattibilità di tale decisione. Ci sono alcune domande che ho e vorrei approfondire.Viabilità di SilkJS/JavaScript lato server per uso aziendale

1) Quali progetti aziendali, se ve ne sono, sapete usare SilkJS?

2) Quali risorse sono disponibili per quanto riguarda la sicurezza dell'utilizzo di SilkJS come server Web o altre soluzioni basate su V8? (cronologia delle vulnerabilità, tempo medio di applicazione delle patch, ecc.).

3) Quali sono le insidie ​​che avete affrontato con SilkJS o altre soluzioni basate su V8 ​​come server Web e come, se possibile, avete affrontato il problema?

4) SilkJS gestisce bene il ridimensionamento orizzontale (distribuzione del carico su più server)? La tua risposta è basata su calcoli teorici ed esempi testati sul campo?

5) Quali risorse siete a conoscenza della realizzazione di un sito Web utilizzando SilkJS come server Web, oltre al sito Web ufficiale stesso?

Prima di rispondere, mi permetta di eliminare innanzitutto l'80% delle risposte mi metterò con i seguenti vincoli:

1) No, non voglio usare NodeJS. Per ragioni di business e di salute mentale, la programmazione frenetica di call-back asincrona non è qualcosa che userò. Non cercare di convincermi che mi "abituerò ad esso e ad amarlo". Non è ottimale per il tipo di progetti su cui sto lavorando. Sì, mi hai sentito - asincrono non è perfetto per tutto.

2) Sono consapevole che la programmazione sincrona può essere simulata in NodeJS. No, nemmeno a me interessa. Non sto usando NodeJS - superalo.

3) Sono pienamente consapevole del fatto che la maggior parte delle applicazioni sono vincolate all'I/O e non alla CPU. Di conseguenza, sì, usare PHP di solito va bene. Tuttavia, ci sono alcuni progetti per i quali le ottimizzazioni della cpu dovute producono un notevole ritorno sull'investimento. No, un'azienda non deve essere Facebook perché questo sia vero. Questo non è destinato a essere una discussione su "perché PHP è ok". È un'esplorazione dell'affidabilità di SilkJS per altri progetti commerciali.

3) Sì, so cos'è Java. No, non mi interessa sapere perché sarebbe bello se volessi ridurre il collo di bottiglia della cpu. Ancora una volta, questo non vuole essere una discussione su "perché le altre lingue sono ok". È un'esplorazione dell'affidabilità delle soluzioni lato server basate su SilkJS e V8 per più progetti aziendali.

4) Sì, è possibile ottenere una risposta ottimale a questa domanda. Chiunque faccia il caso migliore a favore o contro l'uso di SilkJS per l'utilizzo in un ambiente aziendale ottiene il voto di risposta corretto.

Inoltre, sono consapevole che nonostante il mio desiderio di evitare NodeJS, utilizza V8. A tale riguardo, sono aperto a recensioni sulla sicurezza e recensioni di stabilità per V8 sul lato server nel contesto dell'utilizzo tramite NodeJS.

Per ciò che intendo per "impresa", si pensi ai siti di e-commerce con diverse centinaia di migliaia di visite al mese e/o applicazioni per le quali la stabilità e il tempo di attività sono essenziali e hanno centinaia di migliaia di utenti.

Il mio obiettivo qui non è quello di colpire SilkJS.Lo adoro assolutamente e continuerò ad usarlo quando possibile. Tuttavia, come programmatore professionista, non posso semplicemente usare ciò che mi piace per ogni progetto. Quindi, lascia che l'intuizione inizi ..

risposta

1

SilkJS dovrebbe scalare esattamente come se fosse Apache + PHP. Load Balancer di fronte a una farm di server SilkJS. Scala un backend MySQL come sai già come.

SilkJS non esegue GZIP o SSL. Penso che sarebbe un rischio fidarsi di un'implementazione di uno o di entrambi quelli in natura, contro tutti i vari robot (hacker o altro), spider, browser, programmi personalizzati perl, ecc. È possibile implementare banalmente Apache come un proxy di fronte a SilkJS per fornire tali funzioni.

Infatti, è possibile suddividere l'applicazione lato server e utilizzare apache come proxy inverso per connettersi al frammento corretto in base all'URL richiesto.

Penso che se si postano problemi di sicurezza o altri problemi al gruppo google di SilkJS, si vedrà una patch inviata al repository github in modo tempestivo.

Oltre al sito SilkJS.net, è possibile cercare vari repository su github che dispongono di programmi di esempio che utilizzano SilkJS.

http://www.sencha.com/blog/discover-music-with-sencha-touch-2

Questo articolo viene descritto come Modus Crea costruito una domanda di NPR con Sencha Touch come front-end e SilkJS come back-end. Dice:

"I server SilkJS sono ospitati sul cloud EC2 di Amazon, dietro un sistema di bilanciamento del carico per velocità e ridondanza. Entrambi gli host SilkJS sono alimentati dall'API NPR tramite cURL e sono responsabili del ritaglio di oltre 300 KB dal pacchetto dati, portando il carico medio a meno di 200KB prima di essere gzip per la trasmissione! "

+0

Grazie mille – user396404