CS/CS2026. 5. 31. 15:32직렬화] RPC 통신, 왜 XML/JSON 두고 Protobuf를 쓸까?(feat.. self-describing, .proto, 호환성, proto rot)
0. 상황RPC 통신을 들여다보다 Protocol Buffers(이하 protobuf)를 마주했다. "XML보다 310배 작고, 20100배 빠르고, 더 쉽다"는 그 문구.작고 빠른 건 알겠는데, 대체 왜 그런 건지. 그리고 멀쩡히 잘 쓰던 XML, JSON은 뭐가 부족했던 건지 궁금해서 파봤다.1. RPC가 뭐길래 직렬화가 필요한가RPC(Remote Procedure Call)는 남의 서버에 있는 함수를 내 코드의 함수처럼 호출하는 방식이다. getUser(123)을 부르면 네트워크 타고 저쪽에서 실행되고 결과가 돌아온다.근데 네트워크로는 객체를 그대로 못 보낸다. 메모리 속 데이터를 전송 가능한 바이트 열로 바꿔야 하는데, 이게 직렬화(serialization)다. 받는 쪽은 다시 데이터로 푸는 역직..