Goでサーバーアプリケーションを実装し、Webサーバー(nginxやcloudfront)にぶら下げる時はHTTPプロキシとして繋ぐのが一般的かと思います。
なぜなら、GoWebアプリは普通のHTTPサーバーとして性能が十分だせるからです。(単独のGoによるサーバーアプリケーションを公開したとしてもnginxやapacheと同等以上の性能を発揮することが可能です。)
FastCGIはそういう単独プロセスでの性能が不足しているのを補う技術だと思います。
テスト環境、準備環境、本番環境とそれぞれで手前に置くWebサーバーが異なることも多い今時の開発ではHTTPプロトコルそのままというのが最も相互接続性が確保できて有利なのです。(特にクラウド運用する時、HTTP以外のプロトコルは殆ど対応していない)
また、なんとかGI(ゲートウェイインターフェース)などの専用プロトコルだと、一部の新しい通信方式が使えないといったことも起こります。(WebsocketやServerSentEventなど)
FastCGIはどちらかというとフレームワークがそれを要求するから周辺をそれに合わせるために使うというイメージです。例えばphp-fpmベースのシステムがあってそこにGo製Webアプリをぶら下げたい時など。
Go実装では性能はどのプロトコルでも十分発揮する事はできると思います。(どのプロトコルも非同期や多重化は基本としてできるので)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/21 12:42