2016-10-09 4 views
1

ProtoBuf를 사용하여 Java에서 RPC를하고 싶지만 각 클래스의 메타 데이터를 정의하는 개발 오버 헤드가 없습니다. 자바 직렬화와 Kryo가 이것을 할 수 있습니다. ProtoBuf로 가능합니까?proto 파일이없는 Protobuf

.proto 파일의 메타 데이터가 버전 관리와 같은 이점을 제공하지만, 내가 관리하고 관련성이 낮은 함께 시작되는 시스템 간의 RPC에 대해 아파치 스파크가 Kryo를 사용하는 방식을 비교해보십시오.

+0

RPC 프레임 워크를 선택하는 경우 [gRPC] (http://www.grpc.io/)에 관심이있을 수 있습니다. –

답변

4

불가능합니다. 참고로 proto 파일 만 쓰면 클래스는 protoc 컴파일러에 의해 생성됩니다. 따라서 유일한 오버 헤드는 protoc을 빌드 시스템에 통합하는 것입니다 (AFAIK에는 Maven 및 Gradle 플러그인이 있음).

+0

오버 헤드는 참조 그래프의 종료를 포함하여 각 클래스에서 저장할 정확한 상태를 추적해야한다는 것입니다. Java Serialization 또는 Kryo를 사용하면 그렇게 할 필요가 없습니다. –

관련 문제