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ą. –
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ę. –