Sono uno sviluppatore PHP nuovo di Golang. PHP viene fornito con un server integrato che non è consigliato per la produzione. Ho letto lo beautiful book by astaxie sullo sviluppo web in Go e anche lo golang.org example on writing a web app. Entrambi usano lo http.ListenAndServe()
per creare un server web. Voglio solo sapere se questo server può essere utilizzato in produzione o è solo un server fittizio come il server integrato di PHP? Per produzione intendo, può gestire un traffico enorme come un server Apache o ngnix?Utilizzo del server HTTP di Go per la produzione
risposta
Risposta breve: SÌ.
Risposta più lunga: è possibile utilizzare il server Web incorporato per il traffico di produzione. Ci sono buone probabilità che tu lo abbia usato oggi, dal momento che Google serve un po 'di traffico che lo utilizza. Conosco molte aziende, inclusa quella per cui lavoro, che la utilizzano per il traffico di produzione. BTW Non conosco un server Web largamente utilizzato in Go che fa non utilizza il server web standard.
Occorre tuttavia tenere presente che è necessario modificare le cose come client di timeout per renderlo davvero robusta, e forse limitare le connessioni in entrata, ecc
è l'accorciatore di URL di google che usano il server Go in? –
@AkashKumarSharma Nessuna idea. Una cosa che so che gira su di esso sono i loro server di download. Vedi qui, questa è una bella chiacchierata https://talks.golang.org/2013/oscon-dl.slide#1 –
Per aggiungere a @ risposta di Not_a_Golfer: Go del web-server è estremamente solido e abbastanza ben testato finora.
Ci sono, tuttavia, motivi per cui si potrebbe mettere dietro un proxy inverso come nginx, Apache o HAProxy, tra cui:
- terminazione SSL (nginx ha un sacco di funzioni aggiuntive TLS che dovrete per implementare parzialmente te stesso, come semplice supporto pinzatura OCSP)
- caching proxy (che serve risposte statiche dalla cache, o 500 se il GO applicazione si blocca)
- registrazione Performant supporto
- SPDY (anche se entrambi Vai & nginx sarà proba Bly ottenere HTTP/2 allo stesso tempo)
- supporto incorporato gzip e opzioni
- descrittore di file di cache per file statici
ho generalmente preferiscono mettere nginx davanti se ho l'opzione , perché sebbene tu possa implementare tutte queste funzionalità in Go, c'è un po 'di re-invenzione delle ruote in corso. È possibile ottenere la maggior parte del modo con middleware come gorilla/handlers e la propria libreria crypto/tls, e se non si è un operatore e/o si desidera mantenere le cose veramente magre, quindi eseguire tutto direttamente da Go è ancora valido per la produzione .
Ho intenzione di usare nginx principalmente per il caching del proxy ora che ritiene che il server Go sia molto performante. –
- 1. Utilizzo del server integrato PHP in produzione
- 2. Stampa su registro utilizzando la lingua Go Server HTTP semplice
- 3. Utilizzo di Sql Server con Django in produzione
- 4. Esiste un'utilità java per la produzione di risposte multiparte http?
- 5. Utilizzo di HSQLDB negli ambienti di produzione
- 6. Server di sviluppo per test di stress/server di produzione
- 7. Invia una risposta HTTP Chunked da un server Go
- 8. Utilizzo di Kentor.AuthServices.StubIdp come IDP di produzione
- 9. Xcode Push Notification: server APNS per la modalità di produzione
- 10. Utilizzo del server Web incorporato di Django in un ambiente di produzione
- 11. Buon server SMTP su Windows per un server di produzione
- 12. Utilizzo di OpenGL da Go
- 13. Utilizzo di thin Web Server con HTTP e HTTPS
- 14. node.js - possibile la memoria del server http perdita di versione
- 15. In go, come ispezionare la risposta http scritta su http.ResponseWriter?
- 16. BitBucket - invio del codice ai server di staging e produzione
- 17. Funzione di distribuzione parallela di Tomcat7: esperienze di utilizzo su server di produzione?
- 18. Utilizzo di web.py come http-server non bloccante
- 19. Distribuzione del codice ai server di produzione da Git
- 20. Sintesi per la sintassi del metodo di Go
- 21. Driver PostgreSQL per linguaggio di programmazione Go
- 22. Distribuzione di un server Node.js di produzione
- 23. Golang: http server di lasciare aperte goroutines
- 24. Utilizzo del nodo JS per il proxy http e modifica la risposta
- 25. Utilizzo di Less css framework in produzione
- 26. SockJS - '/ info' causando HTTP 404 durante la connessione del server
- 27. Il modo migliore per impostare un'app Node/Express per la modalità di produzione o di produzione
- 28. Utilizzo del codice Go in un progetto C esistente
- 29. Utilizzo di "go get" su un repository personale git
- 30. Fast NIO, server HTTP asincrono per Java
OP chiesto "Voglio solo sapere se questo server può essere utilizzato in produzione o è solo un server fittizio". Questo non è un IMO basato sull'opinione pubblica, è una domanda focalizzata con una risposta definita (sì), ma non una semplice domanda di programmazione, lo ammetto. –