본문 바로가기
dev/thrift

Getting Started Thrift

by igooo 2014. 1. 3.
728x90

아무런 지식이 없이 無에서 시작해하기

json으로 응답하는 API 서버를 thrift로 응답하기로 결정

nginx + thrift + spring 을 개발하기로..... 삽질기


소개

The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages. 

=> facebook에서 만들었고 지금은 apache 프로젝트

mobile APP + API 서버 사이에 많이 사용한다.


설치

Download

http://thrift.apache.org/download/

throft 0.9.1 다운


Build and Install

http://thrift.apache.org/docs/install/

개발하는 서버는 ubuntu (http://thrift.apache.org/docs/install/ubuntu/)

일단은 관련 패키지들은 설치했고 java, c만 쓸 예정이라 관련 패키지들은 필요한거만 설치


설치는 이거보고.. http://thrift.apache.org/docs/BuildingFromSource/

그대로하면 역시나 오류난다.

./configure --help 참고하여 필요한 라이브러리만 추가하고 재빌드

./configure --with-ruby=no ......(help 참고)


.thrift file

회원 관련 API를 작성해본다.

tutorial : http://thrift.apache.org/tutorial/java/

예제 : https://git-wip-us.apache.org/repos/asf?p=thrift.git;a=blob_plain;f=tutorial/tutorial.thrift


shared.thrift

namespace c_glib shared

namespace shared


service SharedService {

void ping()

}


Account.thrift

namespace java account

namespace c_glib Account


service AccountThrift extends shared.SharedService{

void register(1:string:userName, 2:string:password)

}


자바 예제 코드로 해봤는데 문제 없이 호출된다.

Handler는 같은 패키지 안에 작성해야 하는구나.


일단 여기까지 끊고 servlet으로 서비스 하는건 나중에...


참고

http://thrift.apache.org/

http://tech.naver.jp/blog/?p=1420

http://thrift4eclipse.sourceforge.net/en/index.html


'dev > thrift' 카테고리의 다른 글

TServlet + spring 을 사용한 thrift 서버구현  (0) 2014.01.09