본문 바로가기

기술/오픈소스

Apache Thrift

아파치 Thrift

 

Thrift는 페이스북에서 개발한 가변적인 이종 언어 서비스 개발을 위한 소프트웨어 프레임워크이다. 2007년 4월에 소스가 오픈되었고 2008년 아파치에 포함되었다 현재는 아파치에서 소스에 대한 유지보수를 관리하고 있다. (thrift about 참조)

Thrift는 다음과 같은 개발 언어를 지원한다.

C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Javascript, Node.js, Smalltalk, OCalm

Thrift을 이용하는 목적은 다양한 언어를 사용하여 개발한 소프트웨어를 쉽게 결합(통신)하기 위함이다.  Thrift는 RPC지원 서버와 서버에서 제공하는 서비스를 호출하는 클라이언트 코드를 생성해주는 소프트웨어 프레임워크다. 다양한 언어 별로 소켓 서버에 대한 구현 방법을 알 필요가 없기 때문에 쉽게 어플리케이션을 개발할 수 있다.

예를 들면 서비스부분은 java를 이용하여 구현하고 핵심 부분은 C나 C++ 을 이용하여 구현하게 되었을때 Thrift를 통해 쉽게 해당 소프트웨어를 개발할 수 있게 해준다. 즉 서버간 이종언어의 통신, Thrift를 지원하는 다른 서버와의 통신 또한 서버와의 연결이 필요한 모바일 어플리케이션에서도 사용될 수 있을것 같다.

사용할 때는 Thrift 가 지원하는 언어들간의 공통된 Type을 살펴보고 이에 해당하지 않는 커스텀 Type들은 직렬화해서 사용해야 한다.

위키에서 가져온 Thrift API 아키텍처

머 실제로 사용해 보려면 Server-Client모듈간에 적용을 해봐야 할것같은데.. 현 상황에서 서비스상에 적용하기는 어렵고, 일단 이런것이 있구나 라고 알아두자.

'기술 > 오픈소스' 카테고리의 다른 글

MessagePack - for JSON  (0) 2012.08.01