Go: 共有コードを使用したマイクロサービスのリポジトリ レイアウト

王林
リリース: 2024-02-09 09:33:28
転載
795 人が閲覧しました

Go: 共有コードを使用したマイクロサービスのリポジトリ レイアウト

Go は、近年マイクロサービス アーキテクチャで人気が高まっている強力なプログラミング言語です。そのシンプルさ、効率性、同時実行性により、高性能アプリケーションの構築に最適です。 Go でマイクロサービスを構築する場合、リポジトリのレイアウトは重要な考慮事項です。この記事では、PHP Editor Banana が、コードをより適切に整理および管理できるようにする共有コードを含むマイクロサービス リポジトリ レイアウトを紹介します。

質問内容

私たちは最近、新しいマイクロサービスを開発するために go を使い始めました。各マイクロサービスは go モジュールであり、それらを単一のリポジトリとして管理します:

リーリー

これは正常に動作していますが、s1s2 の間でいくつかのコード (両方のサービスで使用される構造、s3 にアップロードされた関数など) を共有する必要があります。

この状況に対処する正しい方法は何ですか?理想的には、リポジトリ ルート (services の兄弟) に common ディレクトリを作成し、そこに共通のコードを配置します。しかし、s1# をコンパイルするときにコードを取得するにはどうすればよいでしょうか。そこから ## と s2 になったら?

回避策

あなたが質問しているのは、実際には「

複数のバイナリを生成する go アプリケーションを構築するにはどうすればよいですか?」ということだと思います。

go.mod を最上位ディレクトリに移動し、次のレイアウトになるように名前を変更できます。 リーリー 次のように始まる

go.mod

もあります: リーリー

common/common.go

が次のようになった場合: リーリー 次に、

services/s1/main.go

で、common モジュールをインポートできます。 リーリー 次のように s1

サービスを構築します:

リーリー ビルド s2

類似:

リーリー 通常、複数のサービスを自動的に構築するためのトップレベルの makefile

があります。

以上がGo: 共有コードを使用したマイクロサービスのリポジトリ レイアウトの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!