Protocol Buffers (Protobuf)
Tệp Protobuf chứa định nghĩa lược đồ cho Protocol Buffers, định dạng tuần tự hóa nhị phân của Google. Protobuf nhỏ hơn và nhanh hơn JSON/XML cho giao tiếp dịch vụ đến dịch vụ.
Loại MIME
application/x-lz4
Loại
Nhị phân
Nén
Không mất dữ liệu
Ưu điểm
- + Decompression speed exceeding 4 GB/s per core
- + Very fast compression with minimal CPU overhead
- + Widely used in production systems (ZFS, Btrfs, databases)
Nhược điểm
- − Lower compression ratio than gzip, bzip2, or xz
- − Not suitable for archival where size minimization is key
- − Less common as a standalone file format for distribution
Khi nào nên dùng .LZ4
Sử dụng Protobuf cho giao tiếp dịch vụ đến dịch vụ (gRPC), định dạng lưu trữ hiệu suất cao và bất kỳ ngữ cảnh nào cần truyền dữ liệu nhanh hơn, nhỏ hơn JSON.
Chi tiết kỹ thuật
Tệp .proto định nghĩa kiểu message với trường được đánh số. Trình biên dịch protoc tạo mã dành riêng cho ngôn ngữ. Mã hóa nhị phân (wire format) sử dụng varint, tiền tố độ dài và thẻ trường cho tuần tự hóa nhỏ gọn.
Lịch sử
Google phát triển Protocol Buffers nội bộ vào năm 2001 và mã nguồn mở vào năm 2008. Proto3 (2016) đơn giản hóa cú pháp và thêm hỗ trợ JSON. gRPC sử dụng protobuf làm lớp tuần tự hóa.