설치를 완료했으니 예제를 통해 어느정도 기능에 대해 눈으로 익혀본다.
예제의 경우 gRPC 코드의 example폴더에 위치한다.
android, cpp, csharp, node, objective-c, php, protos, python, ruby
cpp 예제 빌드해보고 동작 확인해보기
- compression
- helloworld
- keyvaluestore - 빌드파일이 없음.
- load_balancing
- metadata
- route_guide
compression
빌드 make
실행파일 : greeter_server, greeter_client
proto 파일 : helloworld.proto
빌드
mkdir build cd build cmake .. make -j4 |
동작
Server : Server listening on 0.0.0.0:50051
(서버실행시)Client : Greeter received: Hello world world world world
(서버실행X) Client: 14: failed to connect to all addresses
Greeter received: RPC failed
proto 파일 generate
protoc --cpp_out=cppout/ helloworld.proto
Generator 된 파일
helloworld.pb.cc helloworld.pb.h
실행파일
greeter_async_client greeter_async_client2 greeter_async_server greeter_client greeter_server
metadata
route_guide
실제로 적용하고 운영할 떄 ProtoBuf, HTTP2 와 같은 이해부분이 필요함.
참고
gRPC-web 브라우저 적용 삽질기 : https://velog.io/@kyusung/grpc-web-example#grpc-web-%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80-%EC%A0%81%EC%9A%A9-%EC%82%BD%EC%A7%88%EA%B8%B0
Microservices with gRPC
RPC에서 REST까지 간단한 개념소개: https://www.slideshare.net/WonchangSong1/rpc-restsimpleintro
'gRPC' 카테고리의 다른 글
[gRPC]01. 정리 및 설치 (0) | 2020.07.16 |
---|