본문 바로가기

grpc3

[gRPC + java or kotlin] gRPC를 직접 구현재보자 - 공통 모델편 안녕하세요. 오늘부터는 gRPC를 직접 구현해보는 시간을 가져보도록 하겠습니다. 총 3개의 챕터로 진행될 예정이며 이번 포스팅은 공통 모델, 서버, 클라이언트 편으로 나누어서 진행하려고 합니다. 오늘은 protocol buffer를 이용해서 java에서 공통된 모델을 만드는 과정을 보도록 하겠습니다. IDL(Interface Defintion Language) gRPC는 Interface를 먼저 정의해야한는 언어라고 말씀드렸습니다. 이부분에 대해서는 이전 시간에 [gRPC] protocol buffer3를 실제로 사용해보자 포스팅을 참고하시면 좀 더 자세한 내용을 알 수 있습니다. 오늘 사용할 protocol buffer 파일은 아래와 같습니다. 각 라인의 설명은 코드에 달아두었습니다. 위 링크에서 pr.. 2021. 7. 31.
[gRPC] protocol buffer3를 실제로 사용해보자 안녕하세요. 오늘은 gRPC의 2번째 시간입니다. 오늘은 gRPC에서 사용하는 IDL(Interface Defintion Language)인 protocol buffer을 실제로 사용해보도록 하겠습니다. 기본 프로토콜 버퍼(protocol buffer)는 .proto의 확장자를 파일명으로 가집니다. 그리고 내부의 기본적인 구성은 아래와 같습니다. syntax = "proto3"; message SearchRequest { string query = 1; int32 page_number = 2; int32 result_per_page = 3; } 위의 구성을 통해 알 수 있는 내용을 보면 아래와 같습니다. 첫 라인에는 syntax로 proto3를 사용한다고 명시해줍니다. 명시하지않으면 기본 값으로 prot.. 2021. 7. 25.
[gRPC] gRPC에 대해서 알아보자 - 기본 컨셉편 안녕하세요. 오늘은 gRPC에 대해서 알아보는 시간을 가져보도록 하겠습니다. gRPC 개요 gRPC는 HTTP/2를 기반으로 Protocol Buffers로 정의하며 통신시 바이트 스트림으로 통신하게 됩니다. 따라서 Json 기반으로 통신하는 Rest API 보다 더 가볍습니다. 또한 gRPC는 HTTP/2 기반이기 때문에 하나의 채널 커넥션을 맺고 그 커넥션을 통해서 동시에 메시지를 보내고 처리할 수 있습니다. 이런 이유로 전체적인 통신 속도의 향상 또한 크게 기대할 수 있습니다. ( 바이트 스트림 통신으로 인한 latency 상승은 그렇게 크지 않다고 합니다. Link 참조) 개요 gRPC는 Google Remote Procedure Calls의 약자입니다. 이름에서 알 수 있듯이 RPC의 한 종류입.. 2021. 7. 24.