gRPC

  • gRPC 인터셉터 구현 – 클라이언트 (Java)

    지난 글에서 이어서 이번 글에서 클라이언트에서의 인터셉터 구현을 살펴보겠습니다. gRPC 인터셉터 – 클라이언트 클라이언트에서의 gRPC 인터셉터도 이전 글에서 살펴본 서버와 동작 원리 및 구현 방법이 비슷합니다. 마찬가지로 라이브러리의 구조를 살펴보면서 gRPC 인터셉터를 구현해보도록 하겠습니다. (1) ClientCall.Listener<RespT> 정적 추상 클래스를 상속받는 클래스를 생성합니다. ClientCall.Listener<RespT>는 ClientCall 추상 클래스…

    읽기 →

  • gRPC 인터셉터 구현 – 서버 (Java)

    지금까지 gRPC의 기본적인 특징들을 살펴보고, 핵심적인 4가지의 통신 방법을 Protocol Buffer와 Java를 이용하여 간단한 예제로 구현해보았습니다. 분산된 프로세스 사이에서 간단한 통신을 하고자 한다면 이전에 다뤘던 구현 방법만으로도 충분하지만, MSA 기반 애플리케이션처럼 복잡한 형태의 구조를 가지는 경우에는 보다 세밀하고 유연하게 통신 과정을 제어할 수 있는 방법들이 요구됩니다.…

    읽기 →

  • gRPC 세 가지 Streaming RPC 구현 (Java)

    이전 글에서 gRPC를 이용하여 Unary RPC를 구현했던 것에 이어서, 이번에는 Server Streaming, Client Streaming 및 Bidirectional Streaming RPC를 Java로 구현해보도록 하겠습니다. Streaming 패턴 구현에 앞서 gRPC에서 제공하는 클라이언트 스텁 3가지에 대해서 먼저 살펴보겠습니다. gRPC 클라이언트 스텁: BlockingStub, AsyncStub, FutureStub gRPC의 클라이언트 스텁은 다음과 같이 3가지의 객체로…

    읽기 →

  • gRPC 프로젝트 구성 방법과 Unary RPC 구현 (Java)

    이전 글에서 gRPC에 대한 기본적인 특징과 통신 패턴들을 살펴보았습니다. gRPC는 Protocol Buffer라는 인터페이스 정의 언어(IDL)를 기반으로 서비스 정의를 작성하며, 다양한 프로그래밍 언어로 컴파일할 수 있으므로 특정 언어에 종속되지 않을 뿐만 아니라, HTTP/2 위에서 동작하기 때문에 빠른 속도의 양방향 메시지 전송을 지원합니다. 이러한 특성으로 인해 프로세스 및…

    읽기 →

  • gRPC 시작하기

    gRPC란? gRPC는 구조화된 데이터 직렬화에 적합하도록 설계된 Protocol Buffer 기반의 인터페이스 정의 언어(IDL; Interface Definition Language)를 사용하여 물리적 혹은 논리적으로 분산되어 있는 다수의 프로세스 사이에서의 고속 통신을 위한 원격 프로시저 호출(RPC; Remote Procedure Call) 프레임워크입니다. gRPC의 특징 확장된 형식의 Protocol Buffer를 이용하여 메시지의 구조와 통신 메서드의…

    읽기 →