Go でマイクロサービス アーキテクチャ プロジェクトを構築しようとしています。私は現在、モジュールをサポートする Go 1.11 を使用しているため、ルート ディレクトリを .xml 以外の任意のディレクトリに配置しましたGOPATH
。
マイクロサービス アーキテクチャの概念を正しく理解していれば、マイクロサービスは独立している必要がありますが、依存関係を共有することができます (それ以外に何かを行う方法はありませんよね?)。
以下は私のディレクトリ構造です:
.
├── go.mod
├── lambda
│ └── account_create
│ └── main.go
├── readme.md
└── types
├── account.go
├── location.go
├── order.go
├── pricing.go
├── product.go
└── types.go
これで、私が期待した動作はgo build lambda/account_create
、その機能を実行して実行可能ファイルを取得できるようになり、それをそれぞれの AWS Lambda 関数に提供できるようになることでした。
ただし、コマンドを実行すると、次のようになります。
can't load package: package lambda/account_create: unknown import path "lambda/account_create": cannot find module providing package lambda/account_create
これが機能しない理由を説明し、このようなプロジェクトがどのように見えるべきかについてアドバイスをください。
どうもありがとうございました!
編集ここに私のlambda/account_create/main.go
ファイルの内容があります:
package account_create
import (
"fmt"
"roasted.ro/pkg/types"
)
func main() {
account := types.UserAccount{Name: "Victor"}
fmt.Printf("Welcome %s", account.Name)
}