개인 공부

Protocl Buffers (프로토콜 버퍼) 란?

Machine_웅 2022. 10. 21. 13:33
728x90
반응형

프로토콜 버퍼(Protocol Buffers, Protobuf) 란?

 

프로토콜 버퍼는 정방향 및 역호환 방식으로

구조화된 데이터를 직렬화하기 위한 언어 중립적이고 플랫폼 중립적이며

확장 가능한 메커니즘을 제공합니다. 

 

더 작고 빠르며 네이티브 언어 바인딩을 생성한다는 점을 제외하면 JSON과 같습니다.

통신이나 데이터 저장을 목적으로 서로 통신할 프로그램을 개발할 때 유용하다.

 

줄여서 protobuf, 더 줄여서 pb라고 부릅니다. protobuf는 여러 프로그램 언어를 지원합니다.

(직렬화 : 객체의 내용을 바이트 단위로 반환하여 파일 또는 네트워크를 통해서 스트림(송수신)이 가능하도록 하는 것을 의미한다.)

 

 

protobuf는 다른 IDL ( XML, JSON ) 에 비해 더 적은 용량으로 데이터를 저장할 수 있기 때문에

압축률이 좋고 처리속도가 빠르다.

 

하지만 바이너리 데이터로 표현되기 떄문에 확인하기 어렵다.

 


protocol buffer 사용 흐름 

1. .proto 파일에서 message 형식을 작성한다. (스키마 작성)

2. protoc 컴파일러를 통해 원하는 언어로 컴파일 한다. (각 언어마다 빌드 명령어 확인.)

3. 다른 곳에서 구문 분석을 할 수 있도록 인코딩 해 직렬화 한다. (request)

4. 직렬화 된 데이터를 사용하기 위해 디코딩 한다. (response)

 

 

 


 

 


https://yoongrammer.tistory.com/14#Protocol_Buffer_%EB%9E%80? 

 

Protocol Buffer 란?

목차 Protocol Buffer 란? 구글에서 오픈소스로 공개한 언어, 구조화(structured)된 데이터를 직렬화(serialization) 하는 방식입니다. 줄여서 protobuf , 더 줄여서 pb 라고 부릅니다. protobuf는 여러 프로그램..

yoongrammer.tistory.com

https://myung-ho.tistory.com/57

 

ProtoBuf (Protocol Buffers) 란? (Javascript 예제)

회사 프로젝트 중 각각 다른 언어로 만들어진 두 개의 서버에서 데이터 통신을 효과적으로 하기 위해 메세지 큐와 Proto buf를 학습 하게 되었다. 오늘은 Proto buf 에 대해 정리해보려고 한다. 개요 1

myung-ho.tistory.com

https://www.npmjs.com/package/protobufjs

 

728x90
반응형

'개인 공부' 카테고리의 다른 글

TCP/IP 소켓 통신 과정  (0) 2022.12.15
HTTP, Socket 통신의 차이  (0) 2022.12.15
MQTT  (0) 2022.10.21
Bluetooth Low Energy (BLE) 개념 정리  (0) 2022.10.17
Serial 통신 ( 직렬통신 )  (0) 2022.09.27