Framework/gRPC 4

gRPC 구현 예제

🌹 TILgRPC 서버 포트를 0번을 하지말자. 0번으로 했다가 다시 실행하면 랜덤으로 바껴서 다른 컴포넌트에서 gRPC 서버를 찾지 못 했었다.@GrpcClient에 들어가는 파라미터는 gRPC 서버의 spring.application.name  🐭 의존성 추가1. 플러그인 추가id 'com.google.protobuf' version '0.9.2' 2. dependencies 추가// gRPCimplementation 'net.devh:grpc-client-spring-boot-starter:2.13.1.RELEASE'// protobufimplementation 'com.google.protobuf:protobuf-java:3.22.2'implementation project(':proto') ..

Framework/gRPC 2024.03.21

grpcurl

grpcurl gRPC 서버와 통신할 수 있는 command-line tool gRPC 서버에 있는 RPC 메소드를 호출하는 것이 목적 secure/TLS 서버, plain-text 서버를 지원 Docker, 로컬에서 설치할 수 있다. grpcurl [flags] [address] [list|describe] [symbol] address는 다음과 같은 사항에서만 쓰이는 선택 옵션이다. list 또는 describe를 사용할 때 protoset 또는 proto flag가 주어질 때 list symbol은 fully-qualified service name symbol이 주어졌다면, 해당 서비스의 모든 메서드를 출력 symbol이 주어지지 않았다면, 모든 노출된 서비스가 출력되거나 protoset에 모든 ..

Framework/gRPC 2023.03.24

gRPC

gRPC google에서 개발한 오픈소스 RPC(Remote Procedure Call) 프레임워크 HTTP/2를 사용한다. 한 커넥션으로 동시에 여러 개의 메시지를 주고 받을 수 있다. client application은 다른 컴퓨터의 server application에서 메서드를 직접 호출할 수 있다. ➡️ 분산 응용 프로그램 및 서비스를 쉽게 만든다. 원격으로 호출될 파라미터와 리턴 타입을 가지는 메서드를 작성한다. 서버 측에서 서버는 이 인터페이스를 구현하고 클라이언트 호출을 다루기 위해 gRPC 서버를 실행한다. 클라이언트 측에서 클라이언트에는 서버와 동일한 메서드를 제공하는 stub를 가진다. 서버와 클라이언트는 서로 다른 주소 공간을 사용하므로, 함수 호출에 사용된 매개 변수를 꼭 변환해줘야..

Framework/gRPC 2023.03.15