- Go: 1.15.6
- protoc: >= 3.14.0
make install-grpc
make build
docker build -t himo-outgame .
docker run -d -p 5502:5502 himo-outgame bin/outgame
outgame-grpcui
サービスが outgame:5502
に接続確認するので、順番に立ち上げる必要がある
fullstorydev/grpcui
イメージには sh すら入ってないので wait-for-it.sh
がすぐ使えず、とりあえず妥協
docker-compose up outgame
docker-compose up outgame-grpcui
http://localhost:10080 で gRPC の接続テストができる
go install github.com/fullstorydev/grpcui/cmd/grpcui
grpcui -plaintext localhost:5502
tree
.
├── README.md
├── cmd
│ └── outgame
│ └── main.go
├── docs # ドキュメント
├── go.mod
├── grpc # gRPC の proto ファイルを置くところ
├── internal # このプロジェクト内でのみ使用されるパッケージ
│ ├── domain # ドメインオブジェクトを置く
│ ├── interface # クリーンアーキテクチャの interface(DBやリクエストを扱う層)
│ │ └── handler # リクエストを受け取ってレスポンスを返すものを置く
│ ├── registry # DI コンテナを置く場所
│ └── usecase # クリーンアーキテクチャの usecase (アプリにリクエストしたときどう動いてほしいかのロジックを書くところ)
├── pkg # 他のプロジェクトでも使用できるパッケージを置くところ
└── tools # import を明示的にしていないが go mod tidy で消されてほしくないライブラリを宣言しておくところ
└── tools.go