Thrift (apache RPC)

network개발 2017. 7. 14. 11:37

 IDL을 정의하고, 여러가지 언어로 skeleton코드변환이 지원된다.

  - Async지원 (TNonblockingServer)

  - multi-thread지원 (ThreadPoolServer)

  - Exception제공 

  


IDL 정의는 REF 참조.

   - namespace는 java의 경우, 그대로 package명으로 변환 됨.

  - service는 상속이 된다. (interface개념)

  - struct는 상속이 안됨.  (class개념) - 단  delegation은 됨(다른 struct포함 가능)

  - list, set, map이 지원 됨. 

  - constant, enum, typedef가 지원되면 typedef는 java의경우 replace형태로 변환된다.



간단한 통신예제 : REF

-  서버가 Async인 경우 client에서 TFramedTransport를 사용한다.  위 사이트에서 NobblockingClient 라는게,

    Nonblocking  서버에 접속하는  BlokcingClient이다. 



Thrift Protocol Stack 그림 - REF



Posted by yongary
,