2015-06-14 13 views
8

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

+2

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

Odpowiedz

5

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

+0

czy to jest skracacz URL google, w którym używają go serwer Go? –

+2

@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 –

3

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 .

+0

Mam zamiar używać nginx głównie do buforowania proxy teraz, gdy wydaje się, że serwer Go jest sporym wykonawcą. –

Powiązane problemy