ホームページ  >  記事  >  バックエンド開発  >  golangでホットアップデートを行う方法

golangでホットアップデートを行う方法

(*-*)浩
(*-*)浩オリジナル
2019-12-31 13:27:295508ブラウズ

golangでホットアップデートを行う方法

Golang 標準ライブラリの http 部分は、強力な Web アプリケーションのサポートを提供します。negroni などのミドルウェア フレームワークのサポートと組み合わせることで、高性能の Web アプリケーションを開発できます。 Restful の API サービスなど)。 。クラスターサービス。アプリケーションのバージョンがアップグレードされた場合、よりエレガントなポリモーフィックなサーバー バージョンの更新を実装するにはどうすればよいでしょうか? #問題分析

Web アプリケーションを更新する場合、考慮する必要がある問題がいくつかあると思います。

コンパイルがうまく行われる アプリケーションのバイナリ ファイルと構成ファイルがサーバーにアップロードされます;

アプリケーション サーバーは、新しいバージョンがアップロードされたことを感知できます;

サービスを停止せずにバージョンをホット アップデートします;

手動操作のエラーを減らすために、すべての更新プロセスをスクリプト化できることが最善です。

解決策

実際、Go コミュニティには、Web アプリケーションの変更を自動的に検出し、自動更新を実装できるオープンソース プロジェクトがいくつかありますが、これらのアプリケーションはすべてソース コードを検出します。 , リソース ファイルを更新し、ビルド プロセスを開始し、自動コンパイルと再起動を実現します。

たとえば、ジンやフレッシュなど、これらのアプリケーションは開発およびテスト段階での使用に適していますが、アプリケーションの展開や更新には適していない可能性がありますが、良いアイデアを提供します。

デプロイメント環境のディレクトリとバージョンをアップロードします。

リリースされたアプリケーションのバイナリ ファイルと構成ファイルを、~/app/release などの特定のディレクトリに保存します。 、app.1.0、app.1.1、app.2.0 などの各バージョンはこのディレクトリに保持されます。問題が見つかったら、時間内にロールバックできます

以上がgolangでホットアップデートを行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。