ProtoBuf
🧱 ProtoBuf란?
정의
ProtoBuf(Protocol Buffers)는 구조화된 데이터를 효율적으로 직렬화하기 위한 Google의 형식이다.
텍스트 기반 JSON보다 크기가 작고, 직렬화와 역직렬화가 빠른 편이라 네트워크 통신에서 자주 사용된다.
⚙️ 특징
- 데이터 크기가 작다.
- 직렬화와 역직렬화가 빠르다.
- 여러 언어에서 사용할 수 있다.
- 스키마 기반으로 데이터를 정의한다.
🧩 .proto 파일
ProtoBuf는 .proto 파일에 메시지 구조를 정의한다.
syntax = "proto3";
message User {
int64 id = 1;
string name = 2;
}
필드 번호는 직렬화 호환성에 중요하므로 임의로 바꾸지 않는 편이 좋다.
🔍 컴파일
protoc.exe --<언어>_out=<output 경로> <.proto 파일 경로>
.proto 파일을 컴파일하면 각 언어에 맞는 코드가 생성된다.
⚠️ 주의할 점
- 필드 번호는 안정적으로 관리해야 한다.
- 기존 필드 삭제나 변경 시 하위 호환성을 고려해야 한다.
- 스키마 변경이 잦은 경우 버전 관리가 필요하다.
📌 정리
- ProtoBuf는 구조화된 데이터를 효율적으로 표현하는 직렬화 형식이다.
.proto파일로 스키마를 정의하고 코드로 생성한다.- gRPC의 기본 데이터 형식으로 자주 사용된다.
댓글남기기