gRPC
[gRPC] gRPC 사용후기
이번 22-2 클라이언트 서버 프로그래밍 수업에서 gRPC 기술을 적용하여 수강신청 시스템을 구축하였다. 해당 포스터에서는 gRPC를 사용하면서 느낀 사용후기와 깃을 포스팅하겠다. 사용후기 우선, 수업에서는 RMI(자바 원격 함수 호출)로 메서드를 호출하는 기술인데 같은 호출 기술인 gRPC로 진행하였다. 내가 진행한 프로젝트는 수강신청 시스템 구축으로 아래와 같은 프로세스간 통신을 한다. 내가 느낀 장점 통신 프로세스간 통신은 현재 기술 발전의 핵심인 분산에서 관심있는 분야이다. 서비스를 좀 더 안정적으로 배포하기 위해서 서비스를 나누는데 필요한 것이 통신이다. gRPC는 통신을 매우 효율적으로 할 수 있게 해준다. proto3버전을 사용하면 넓은 언어 호환성과 xml, json에 비해 빠른 속도와 가..
[gRPC] gRPC 특징, 장단점
gRPC 소개 gRPC는 protocol buffer와 RPC를 사용한다. 2022.12 당시, IDL로는 proto3를 사용하며 호환하는 언어로는 Java, C++, Python, Java Lite, Ruby, JavaScript, Objective-C, C#을 호환한다. gRPC의 핵심은 분산으로 클라이언트 응용 프로그램을 서버에서 함수를 원격 호출할 수 있어 MSA(Micro Service Architecture)를 구현하기 수월하다. gRPC 서버에서는 Stub을 통한 호출을 처리할 수 있다. gRPC 특징 1. Protocol Buffere gRPC는 IDL을 Protocol Buffere(.proto)를 사용한다. 2. Service definition service EducationServi..
[gRPC] Protocol Buffere(proto3) 소개, 사용법
Protocol Bufferes 구조화된 데이터를 직렬화 하기 위한 구글의 언어 중립적, 확장 가능한 메커니즘이다. 데이터를 한 번 구성하는 방법을 정의한 후에 특수 생성된 소스 코드를 사용하여 다양한 데이터 스트림과 다양한 언어를 사용하여 구조화된 데이터를 쉽게 쓰고 읽을 수 있다. Protocol Buffere은 IDL로서 data structure를 정의한 다음, proto파일을 protocol buffere compiler를 통해 컴파일한다. 컴파일된 소스코드를 사용하여 데이터를 읽고 쓴다. Protocol Bufferes는 현재 Java, Python, Objective-C, C++을 지원하고 proto3의 경우 Kotlin, Dart, Go, Ruby, C#을 추가적으로 지원한다. Proto3..
[gRPC] gRPC 개념, RPC, IDL비교(XML, JSON, Protocol Buffer)
gRPC란? 구글이 개발한 오픈 소스 원격 프로시저 호출 시스템(RPC)이다. 호출을 위해 TCP/IP 프로토콜과 HTTP2.0 프로토콜을 사용하고 IDL(Interface Definication Language)로 protocol buffer를 사용한다. RPC(Remote Procedure call)란? 한 프로그램이 네트워크의 세부 정보를 이해하지 않고도 네트워크 안의 다른 컴퓨터에 있는 프로그램에서 서비스를 요청하는 프로토콜 HTTP 2.0 HTTP(Hypertext Transfer Protocol)는 웹 환경에서 사용되는 통신 프로토콜로 OSI 7 Layer에서 최상위인 Application Layer에서 사용한다. 더보기 HTTP에 대한 역사 [Network] HTTP(Stateful Stat..