gRPC 썸네일형 리스트형 gRPC with (spring, load balancing, TLS, health check) 예제 0. gRPC base Git : https://github.com/Mussyan/grpc_handson 을 베이스로 아래 내용 중 '기존 ~ 코드'는 위 깃의 2, 3, 4번 챕터를 통해 만든 프로젝트를 뜻한다. 1. with spring Reference : https://coding-start.tistory.com/352 기존 코드에 레퍼런스를 적절히 활용하였음. build.gradle(서버, 클라이언트 공통) buildscript { repositories { mavenCentral() } dependencies { classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.8' } } plugins { id 'org.springframework.boo.. 더보기 Protobuf 문법 목차 Syntax Field types Field Rules Tag Reserved Field service(rpc) style guide Syntax syntax = "proto3"; //proto3 버전 문법 사용 'syntax'는 버전을 정하는 구문이며 'proto2'와 'proto3'가 있다. 해당 내용이 없으면 'proto2'가 default값으로 적용되며 gRPC를 활용하려면 'proto3'를 사용해야 한다. proto2는 후술할 필드 규칙이 필수값이나 proto3은 그렇지않은 등 문법이 차이가 일부 있으며 요즘엔 대부분 proto3을 사용하는 추세이므로 이후 설명은 proto3를 기준으로 한다. Field types message Foo { string name = 1; //문자열 필드. i.. 더보기 gRPC 기초 + 실습 예제 GRPC 목차 RPC란? gRPC란? start gRPC with java + python java gRPC server java gRPC client python gRPC client with docker 1. RPC란? Remote Procedure Call의 약자. 원격에 있는 함수를 호출하는 것을 말한다. 과거엔 프로세스간 통신을 위해 많이 사용되었으나 현재는 웹 기술의 발달로 SOAP, REST에 많이 밀려난 상태. 분산컴퓨팅 환경에서 많이 사용하며 MSA에서도 사용하기 적절하다. Skeleton, Stub이라고 부르는 IDL 코드로 request params, response params를 파악해야 함 (작성중) 2. gRPC란? 구글에서 사용하던 'Stubby' 라는 RPC 스택을 강화하여 .. 더보기 Protocol buffers 목차 개요 장단점 사용법 개요 구글에서 개발하고 사용중인 직렬화 데이터 구조. 파일 하나에 64M까지 지원. 기타 특징들은 아래 장단점에 서술. 장단점 장점 이름있는 언어는 대부분 지원 직렬화 속도가 빠름 직렬화된 파일의 크기가 작음 = 통신 효율 증대 데이터를 바이트형태로 직렬화하여 전송하기에 별도의 파싱 과정이 필요 없다. proto 파일 json 전환 유틸 지원 protobuf 공식 홈페이지 曰 : xml에 비해 3~10배 작고 20~100배 빠르고 더 간결하고 덜 모호하고 더 쉬운 데이터 액세스 클래스를 제공합니다. 단점 Protocol buffer에 쓰는 스키마 파일인 proto 파일에 대한 사전 지식이 필요하다. 바이트 형태이기에 사람이 읽기엔 적합하지 않다. proto 파일을 보면 이해할 수.. 더보기 이전 1 다음