194
2
부
구현
가 있지만 널리 지원되지는 않는다. 사람들이
JSON
을 선택하는 이유는 멋지고 가볍기 때문인
데,
XML
에 이미 존재하는 하이퍼미디어 컨트롤 같은 개념을
JSON
에 추가하려는 것은 의아할
따름이다. 하지만 필자와 같은 사람은 소수며,
JSON
이 많은 사람이 선택하는 포맷이라는 점을
인정한다!
5.3.25.3.2
바이너리 포맷바이너리 포맷
텍스트 포맷은 인간이 쉽게 읽을 수 있고 다양한 도구 및 기술과 함께 높은 상호 운용성을 제공
하는 등 장점이 많다. 바이너리 직렬화 프로토콜의 세계는 페이로드 크기나 페이로드의 쓰기
및 읽기 효율성을 걱정하기 시작하면 사람들이 찾게 되는 분야다. 프로토콜 버퍼는 나온 지 꽤
됐고
gRPC
가 사용되지 않은 분야에 자주 사용됐다 (아마도 프로토콜 버퍼는 마이크로서비스
기반 통신에 가장 널리 사용되는 바이너리 직렬화 포맷일 것이다 ).
하지만 이 분야는 다양한 요구 사항을 고려해 여러 포맷이 개발됐고
SBE
Simple
Binary
Encoding
(
https
://
oreil
.
ly
/
p8UbH
),
Cap
’
n
Proto
(
https
://
capnproto
.
org
/
),
FlatBuffers
(
https
://
oreil
.
ly
/
VdqVB
)와 같은 포맷이 있다. 이 포맷들은 프로토콜 버퍼,
JSON
또는 다른 포맷과
비교해 제반 장점을 부각하는 각 포맷의 벤치마크는 충분하지만, 벤치마크가 포맷을 사용하
는 방법을 반드시 나타내지 않는다는 점에서 근본적인 문제를 겪고 있다. 직렬화 포맷에서 마
지막 몇