gRPC(Google Remote Procedure Call)는 구글에서 개발한 고성능 오픈소스 프레임워크로, 분산 시스템에서 마이크로서비스 간의 효율적인 통신을 가능하게 합니다. 주로 Protocol Buffers(프로토콜 버퍼)를 사용하여 데이터 직렬화와 플랫폼 간 호환성을 보장합니다.
Spring Boot에서 gRPC를 통합하는 것은 grpc-spring-boot-starter
라이브러리를 사용하여 간단하게 설정할 수 있습니다. 이 라이브러리는 gRPC 서버와 클라이언트 구성 요소를 Spring Boot 애플리케이션 내에서 쉽게 관리할 수 있도록 도와줍니다.
grpc-spring-boot-starter
의존성을 프로젝트에 추가합니다. 현재 최신 버전은 3.1.0.RELEASE
입니다:<dependency>
<groupId>net.devh</groupId>
<artifactId>grpc-spring-boot-starter</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
@GrpcService
로 애노테이션하고, 생성된 gRPC 기본 클래스를 상속받아 구현합니다:@GrpcService
public class MyGrpcService extends MyServiceGrpc.MyServiceImplBase {
@Override
public void myRpcMethod(MyRequest request, StreamObserver<MyResponse> responseObserver) {
MyResponse response = MyResponse.newBuilder().setMessage("Hello " + request.getName()).build();
responseObserver.onNext(response);
responseObserver.onCompleted();
}
}
9090
에서 실행되지만, Spring Boot의 속성을 통해 이 설정을 변경할 수 있습니다.