Apache Thrift 조사

scribbling 2011.09.26 15:52

Pdf 다운 받기






Apache Thrift

<장점>

- 버전닝 지원
- 여러 언어에서 사용 가능하며 언어에 맞도록 소스가 생성되고, 언어간의 Serialization 가능
- Sync, Async Server API 제공
- XML 설정이 필요 없음
- Layer에 맞는 Interface를 사용 및 Customizing 구축 가능
- RPC 기능 제공 (Google Protocol Buffer에는 없는 기능)
- 서버 기능 좋음
    -- 서블릿 제공(org.apache.thrift.server.TServlet)
   -- 멀티쓰레드 지원 (org.apache.thrift.server.ThreadPoolServer : worker thread 지정)
   -- Async 지원 (org.apache.thrift.server. TNonblockingServer : single threaded)
   -- Multi-thread Half-Sync/Half-Async지원 : org.apache.thrift.server. THsHaServer
   -- Exception을 제공 (Google Protocol Buffer에는 없는 기능)
   -- Set, Map 지원 (Google Protocol Buffer에는 없는 기능)

 

 

 <단점>

- 자바로 코드가 생성될 때, Slf4j를 기본적으로 가지고 가며, 내부 코드는 모두 thrift lib가 필요함
- C++의 Server threading part는 Boost에 의존을 가짐
- 자바 쪽 이클립스 플러그인 없음
- Thrift lib의 api가 자주 바뀌어서, 버전 업마다 소스를 좀 보고 코딩해야 함. (인터넷 예제가 거의 없음)

   인터넷 예제랑 달라서, 컴파일 에러 안나게 하는게 귀찮음...
- XML Serialization/Deserialization 기능 없음
- 문서가 확실히 적음 (허허~)
- 생성된 코드가 Google Protocol Buffer에 비해서 보기는 편하지는 않음 (특히 C++)

Posted by 김용환 '김용환'