thrift 3

구글 프로토콜 버퍼 (Protocol buffer)

구글 프로토콜 버퍼조대협 (http://bcho.tistory.com) 텐서 플로우로 모델을 개발하다가 학습이 끝난 모델을 저장하여, 예측하는 데 사용하려고 하니, 모델을 저장하는 부분이 꽤나 복잡하여 찾아보니, 텐서플로우는 파일 저장 포맷을 프로토콜 버퍼를 사용한다는 것을 알았다. 그래서, 오래전에 살펴보았던 프로토콜 버퍼를 다시 살펴보았다.개요 및 특징프로토토콜 버퍼는 구글에서 개발하고 오픈소스로 공개한, 직렬화 데이타 구조 (Serialized Data Structure)이다. C++,C#, Go, Java, Python, Object C, Javascript, Ruby 등 다양한 언어를 지원하며 특히 직렬화 속도가 빠르고 직렬화된 파일의 크기도 작아서 Apache Avro 파일 포맷과 함께 많이 ..

프로그래밍 2017.06.25

grpc (google rpc)에 대한 분석 #1

GRPC 분석 #1 앞글에서도 간단하게 GRPC에 대해서 소개했는데, 제법 괜찮은것 같아서 조금 더 분석해보기로 결정하였다.주목할만한 특징 중의 크게 두가지가 있다. 모바일 지원 여부먼저, 모바일이 지원된다. 안드로이드나, iOS (Object-C)를 지원하기 때문에, 모바일 클라이언트에서 호출이 가능하고, 바이너리 프로토콜을 사용하며, 하나의 Connection으로 RPC 호출을 처리하기 때문에, JSON/HTTP REST에 비해서 네트워크 대역폭 소모가 적고, 매번 커넥션을 열어야 하는 부담이 없기 때문에, 효율적이다. (속도는 당연히 빠를듯) 확인을 해봐야 겠지만, 양방향 스트리밍을 지원한다는 것을 봐서는 푸쉬같이 클라이언트쪽으로 메세지를 쏘는 기능도 가능할듯 하다. Google Protocol B..

프로그래밍 2015.04.01

Thrift, Avro and Protocol Buffers

Thrift에 대해서 잘 설명해놓은 글 http://thrift-tutorial.readthedocs.org/en/latest/thrift-stack.htmlThriftRPC 지원프로그래밍 언어 커버리지가 넓음TLS 기반의 Secure 프로토콜 지원Map,List 지원 PBIDL 정의가 조금 더 직관적"Serialize/Deserialize 전용 (Message 정의용) :그래서 다른 Transport 프로토콜이 필요함"-다른 Protocol을 통해 Tunneling 함 (HTTP,AMQP,심지어 Thrifit까지,Netty의 경우 확장 플러그인이 있음)Map,List등을 지원하지 않음