2016-10-24 4 views
0

MessagePack, 프로토콜 버퍼 등과 같은 데이터 직렬화를위한 몇 가지 libs가 있습니다.MessagePack/프로토콜 버퍼의 전송 프로토콜은 무엇입니까?

그러나 전송 프로토콜은 무엇이되어야합니까? HTTP REST 또는 기타 여야합니까?

HTTP에 오버 헤드가 있으므로 REST를 사용하는 것이 좋습니다. 따라서 우리가 속도를 최적화하고 사용하는 경우 ProtoBuff를 사용하면 전송을 최적화하지 않고 직렬화를 절반 정도만 최적화하는 것이 논리적이 아닌 것처럼 보입니다.

답변

1

Protobuf의 경우 Google의 공식 RPC 구현 인 gRPC을 사용해야합니다. 효율적이지만 더 중요한 것은 Protobuf와 잘 통합되도록 설계되었습니다. 메시지 유형과 함께 .proto 개의 파일에 서비스 정의를 작성할 수 있습니다.

많은 직렬화 형식과 잘 조화되는 또 다른 일반적으로 사용되는 전송은 ZeroMQ입니다.

1

프로토콜 버퍼는 일반적인 직렬화 형식입니다. 당신이 원하는대로 그들을 수송 할 수 있습니다.

원시 바이트를 tcp 또는 심지어 udp 소켓을 통해 보낼 수 있습니다. 그러나 애플리케이션이 http를 사용하는 것이 합리적 일 수도 있습니다. html/xml로 캡슐화 할 수도 있습니다.