92 votes

Serveur web pour Aller (golang) webservices: l'utilisation de NGINX ou pas?

Je suis en train d'écrire certains webservices renvoyer des données JSON, qui a beaucoup d'utilisateurs.

Voulez-vous recommander d'utiliser NGINX comme serveur web ou il est assez bon pour utiliser le serveur http de Go?

145voto

elithrar Points 2931

Il dépend.

Hors de la boîte, mettre nginx en frontal comme un reverse proxy qui va vous donner:

  • Les journaux d'accès
  • Les journaux d'erreur
  • Facile de terminaison SSL
  • Support de SPDY
  • gzip soutien
  • Moyens faciles pour définir les en-têtes HTTP pour certains itinéraires en quelques lignes
  • Très rapide d'actifs statique de servir (si vous servez off S3/etc. cependant, ce n'est pas pertinente)

Le Go serveur HTTP est très bon, mais vous aurez besoin de réinventer la roue pour faire certaines de ces choses (qui est très bien: il n'est pas censé être tout pour tout le monde).

J'ai toujours trouvé ça plus facile de mettre de nginx en frontal qui est ce qu'elle est bonne à et de le laisser faire le "serveur web" choses". Mon application ne la demande des trucs, et que le strict minimum des en-têtes/etc. qu'il doit. Ne regardez pas à mettre nginx en frontal comme une "mauvaise chose".

17voto

Ask Bjørn Hansen Points 3509

Le serveur http standard de Go est très bien. Si votre application principalement/ne sont "dynamiques" demandes/réponses, c'est vraiment la meilleure façon.

Vous pouvez utiliser nginx pour servir statique actifs, mais le plus probable de la norme Allez on est bien pour ça, aussi. Si vous avez besoin de plus de performances, vous devez juste utiliser un CDN ou cache autant que vous pouvez avec du Vernis (par exemple).

Si vous devez vous servir des applications différentes sur la même adresse IP, nginx est un excellent choix pour un proxy pour distribuer les demandes entre les différentes applications; si j'avais le plus souvent d'obtenir de Vernis ou de HAProxy de la boîte à outils pour ce genre de chose.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X