Jestem programistą PHP nowym w Golang. PHP posiada wbudowany serwer, który nie jest zalecany do produkcji. Przeczytałem beautiful book by astaxie na temat tworzenia stron internetowych w Go, a także golang.org example on writing a web app. Obaj używają http.ListenAndServe()
do utworzenia serwera WWW. Po prostu chcę wiedzieć, czy ten serwer może być używany w produkcji, czy jest to po prostu fałszywy serwer, taki jak wbudowany serwer PHP? Mówiąc o produkcji, czy może obsłużyć wielki ruch, taki jak serwer Apache czy ngnix?Używanie serwera HTTP Go do produkcji
Odpowiedz
Krótka odpowiedź: TAK.
Dłuższa odpowiedź: z pewnością można korzystać z wbudowanego serwera sieci Web dla ruchu produkcyjnego. Jest duża szansa, że skorzystałeś już dziś, ponieważ Google obsługuje ruch z niego korzystający. Wiem, że wiele firm, w tym ta, w której pracuję, wykorzystuje ją do ruchu produkcyjnego. BTW Nie wiem o serwerze sieciowym szeroko używanym w Go, który ma , a nie używać standardowego serwera WWW.
Należy pamiętać jednak, że trzeba dostosować rzeczy jak klient limity czasu, aby to naprawdę solidna, a może ograniczyć połączenia przychodzące, itp
czy to jest skracacz URL google, w którym używają go serwer Go? –
@AkashKumarSharma Nie mam pojęcia. Jedną rzeczą, którą wiem, że działa na nim jest ich serwerów pobierania. Zobacz tutaj, jest to wspaniała rozmowa https://talks.golang.org/2013/oscon-dl.slide#1 –
Aby dodać do @ odpowiedź Not_a_Golfer za: Przejdź na web-serwer jest bardzo solidne i dość dobrze przetestowane do tej pory.
Istnieją jednak powody, dla których można umieścić go za reverse proxy jak nginx, Apache lub HAProxy, w tym:
- rozwiązania SSL (nginx ma wiele dodatkowych funkcji TLS, że będziesz mieć częściowo realizować siebie, jak łatwo OCSP zszywanie wsparcia)
- buforowanie proxy (służących odpowiedzi statycznych z pamięci podręcznej, lub 500 w przypadku awarii aplikacji Go)
- wydajnych rejestrowanie wsparcie
- SPDY (chociaż zarówno Idź & nginx będzie Proba Bly dostać HTTP/2 w tym samym czasie)
- wbudowane wsparcie gzip i opcji
- deskryptora pliku buforowania plików statycznych
I ogólnie wolą umieścić nginx przed gdybym miał możliwość , ponieważ chociaż możesz wdrożyć wszystkie te funkcje w Go, to dzieje się trochę rekonstrukcji koła. Możesz tam uzyskać większość z oprogramowaniem pośredniczącym, takim jak gorilla/handlers i własną bibliotekę crypto/tls Go, a jeśli nie jesteś osobą ops i/lub chcesz, aby rzeczy były naprawdę cienkie, wtedy wszystko bezpośrednio od Go jest nadal w porządku do produkcji .
Mam zamiar używać nginx głównie do buforowania proxy teraz, gdy wydaje się, że serwer Go jest sporym wykonawcą. –
- 1. Używanie web.py jako niezablokowanego serwera http
- 2. Wysyłanie porcji odpowiedzi HTTP z serwera Go
- 3. Używanie Kentor.AuthServices.StubIdp jako produkcji IDP
- 4. Używanie cienkiego serwera WWW z HTTP i HTTPS
- 5. "Właściwy" sposób na ciągnięcie git "gałęzi produkcji" do serwera produkcyjnego
- 6. Czasowa odpowiedź HTTP w Go
- 7. Żądanie Alamofire http do lokalnego serwera WWW
- 8. Scala start Odtwarzanie serwera w produkcji
- 9. Używanie przeglądarki przewodowej http
- 10. Próbka serwera Indy 10 Http
- 11. RxJS + node.js Implementacja serwera HTTP?
- 12. Używanie uwierzytelniania HTTP Digest w telefonie iPhone
- 13. Expressjaki do produkcji
- 14. OpenJDK - gotowy do produkcji?
- 15. Używanie nginx jako odwrotnego proxy do serwera IIS
- 16. Używanie węzła JS do proxy http i modyfikowanie odpowiedzi
- 17. Używanie GCC w trybie C++ 0x w produkcji?
- 18. Używanie zdalnego serwera w phpstorm
- 19. Używanie aplikacji Tor api do tworzenia anonimowego serwera proxy
- 20. Uruchamianie serwera http na Amazon EC2
- 21. Prosty sposób na wykorzystanie Netty do zbudowania serwera proxy http?
- 22. g ++ - używa flagi "-g" do produkcji produkcji dobry pomysł?
- 23. Jak potokować odpowiedź HTTP do pliku w folderze Go?
- 24. Jak mogę obsłużyć żądania http różnych metod do/w Go?
- 25. Uzyskaj odpowiedź HTTP jako ciąg w Go
- 26. Jak rozwiązać "Musisz dodać" demony "do Gemfile, jeśli chcesz go użyć" błąd w trybie produkcji?
- 27. Go: http statyczne katalogi nie są podawane
- 28. Używanie pliku cropper.js przed zrzutem pliku Dropzone.js do serwera
- 29. Najlepszy sposób przesyłania danych z serwera http do klienta przeglądarki
- 30. Metoda http post przekazująca wartości null do serwera
OP zapytał "Chcę tylko wiedzieć, czy ten serwer może być używany w produkcji, czy jest to tylko fałszywy serwer". To nie jest oparte na opiniach IMO, to jest skupione pytanie z konkretną odpowiedzią (tak), ale nie jest też prostym pytaniem programistycznym, przyznaję. –