Back to Go Zero

RPC 예제

tools/goctl/rpc/example/README-ko.md

1.10.32.4 KB
Original Source

RPC 예제

English | 中文 | 한국어

이 디렉터리에는 모든 goctl rpc 코드 생성 시나리오에 대한 완전한 예제가 포함되어 있습니다.

각 예제에는 다음이 포함됩니다.

  • .proto 소스 파일
  • README.md(영어), README-cn.md(중국어), README-ko.md(한국어) 문서

예제

#디렉터리시나리오주요 플래그
0101-basic기본 단일 서비스, import 없음
0202-import-sibling같은 디렉터리의 proto 파일 import--proto_path=.
0303-import-subdir하위 디렉터리의 proto import--proto_path=.
0404-transitive-import전이 import(A → B → C)--proto_path=.
0505-multiple-services하나의 proto에 여러 서비스--multiple
0606-wellknown-types메시지에서 Google well-known types 사용
0707-external-proto-same-pkg외부 proto, 동일한 go_package-I ./ext_protos
0808-external-proto-diff-pkg외부 proto, 다른 go_package-I ./ext_protos
0909-google-types-as-rpcRPC 파라미터로 Google well-known types 사용
1010-streaming서버/클라이언트/양방향 스트리밍

사전 요구 사항

빠른 시작

bash
# protoc 플러그인 설치
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

# 기본 예제 실행
cd 01-basic
mkdir -p output && cd output && go mod init example.com/demo && cd ..
goctl rpc protoc greeter.proto \
  --go_out=output --go-grpc_out=output --zrpc_out=output \
  --go_opt=module=example.com/demo --go-grpc_opt=module=example.com/demo \
  --module=example.com/demo -I .