Golang 標準ライブラリの http 部分は、強力な Web アプリケーションのサポートを提供します。negroni などのミドルウェア フレームワークのサポートと組み合わせることで、高性能の Web アプリケーションを開発できます。 Restful の API サービスなど)。 。クラスターサービス。アプリケーションのバージョンがアップグレードされた場合、よりエレガントなポリモーフィックなサーバー バージョンの更新を実装するにはどうすればよいでしょうか? #問題分析
Web アプリケーションを更新する場合、考慮する必要がある問題がいくつかあると思います。
コンパイルがうまく行われる アプリケーションのバイナリ ファイルと構成ファイルがサーバーにアップロードされます;アプリケーション サーバーは、新しいバージョンがアップロードされたことを感知できます;
サービスを停止せずにバージョンをホット アップデートします;手動操作のエラーを減らすために、すべての更新プロセスをスクリプト化できることが最善です。
解決策
実際、Go コミュニティには、Web アプリケーションの変更を自動的に検出し、自動更新を実装できるオープンソース プロジェクトがいくつかありますが、これらのアプリケーションはすべてソース コードを検出します。 , リソース ファイルを更新し、ビルド プロセスを開始し、自動コンパイルと再起動を実現します。たとえば、ジンやフレッシュなど、これらのアプリケーションは開発およびテスト段階での使用に適していますが、アプリケーションの展開や更新には適していない可能性がありますが、良いアイデアを提供します。
デプロイメント環境のディレクトリとバージョンをアップロードします。
リリースされたアプリケーションのバイナリ ファイルと構成ファイルを、~/app/release などの特定のディレクトリに保存します。 、app.1.0、app.1.1、app.2.0 などの各バージョンはこのディレクトリに保持されます。問題が見つかったら、時間内にロールバックできます以上がgolangでホットアップデートを行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。