🧱 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의 기본 데이터 형식으로 자주 사용된다.

연결문서

댓글남기기