일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- sequelize
- Baekjoon
- 사이버보안
- pwnable.xyz
- docker
- programmers
- gcp ci/cd
- Python
- Batch
- node.js
- 스프링 배치
- 시스템 해킹
- 네트워크
- kotest
- gcp
- 파이썬
- 웹보안
- 프로그래머스
- spring Batch
- 회고
- 웹해킹
- 보안
- gcp cloud build
- nodejs
- cloud run
- hackctf
- webhacking.kr
- 리버싱
- 포너블
- 백준
uju's Tech
[gRPC] gPRC Remote Procedure Calls란? 본문
<본 포스팅은공부목적으로 작성되었습니다. 혹시 틀린 부분이 있거나 문제가 되는 부분이 있다면 답글 달아주세요!>
[참고 링크]
https://grpc.io/docs/what-is-grpc/introduction/
In gRPC, a client application can directly call a method on a server application on a different machine as if it were a local object, making it easier for you to create distributed applications and services.
gRPC는 다른 서비스 간 언어 제약 없이 사용할 수 있는 오픈소스 고성능 원격 프로시저 호출 프레임워크이다. 위의 그림을 살펴보면 client는 java혹은 ruby로 구현되어 있다. 또한 서버의 경우 c++로 구현되어 있는 것을 확인할 수 있다. 이렇게 다른 환경으로 구성되어 있는 것을 통신 가능하게 해주는 것이 gRPC이다. 정확히 말하자면 데이터를 주고 받을 때 프로토콜 버퍼들 사이에서 gRPC 통신을 한다.
gRPC는 HTTP/2를 기반으로 동작하며 구글에서 만든 데이터 전송 구조인 프로토콜 버퍼를 사용한다.
gRPC는 기본적으로 프로토콜 버퍼(Protocol Buffers)를 사용한다.
프로토콜 버퍼는 csv, Json, xml 과 같은 데이터 구조이다. 프로토콜 버퍼와 다른 데이터 구조와의 차이는 프로토콜 버퍼의 경우 구글에서 제작하였고 직렬화가 바이너리 파일로 되면서 속도가 좀 더 빠르다는 장점이 존재한다.
** MSA 외부의 REST API와 통신하고 싶은 경우 gRPC - gateway 를 사용해 주면된다.**
정말 gRPC의 장점과 사용하는 경우에 대해서 공부해 보았다.
사실 생소한 개념이기도 하고 좀 더 깊어질 수록 자료가 많지 않은거 같다. 다음에는 직접 구현해보면서 공부를 진행해보아야겠다.
gRPC를 접하면서 가장 처음으로 뱅크샐러드의 글을 접했는데 이해하는데 도움이 많이 되었다.
아래의 링크이다. 개발하면서 마주한 문제들을 볼 때 어떠한 것을 고려하였는지 알 수 있어서 좋았다.
'DevOps > MSA' 카테고리의 다른 글
[gRPC : Node.js] Node.js에서 gRPC 설치 (0) | 2020.08.05 |
---|