더북(TheBook)

텍스트 메시지 포맷

JSON, XML 등 텍스트 기반 포맷은 사람이 읽을 수 있고 자기 서술적(self describing, 그 자체만으로도 의미가 분명한) 장점이 있습니다. 여러분도 알다시피, JSON 메시지는 네임드 프로퍼티(named property, 이름을 가진 프로퍼티), XML 메시지는 네임드 엘리먼트와 그 값을 모아 놓은 구조입니다. 메시지 컨슈머는 자신이 관심 있는 값만 골라 쓰고 나머지는 그냥 무시하면 되므로 메시지 스키마가 자주 바뀌어도 하위 호환성은 쉽게 보장됩니다.

XML 문서 구조는 XML 스키마5로 명시하는데, JSON에도 이런 메커니즘의 필요성이 점점 개발자 커뮤니티에서 설득력을 얻기 시작했습니다. 그래서 메시지 프로퍼티의 이름/타입 및 필수/옵션 여부가 정의된 JSON 스키마 표준6이 제정되었습니다. 이 표준은 애플리케이션에 들어온 메시지를 확인하는 용도로 사용할 수 있고 문서화에도 요긴합니다.

텍스트 메시지 포맷의 단점은 메시지(특히 XML)가 다소 길다는 사실입니다. 모든 메시지에 속성값 이외에 속성명이 추가되는 오버헤드가 있고, 덩치가 큰 메시지는 텍스트를 파싱하는 오버헤드도 있습니다. 따라서 효율/성능이 중요한 경우는 이진 포맷을 고려해 봄직합니다.

 

 


 

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.