서비스 통신, 디스커버리, 트래픽 관리를 위한 RPC 및 마이크로서비스 프레임워크 Apache Dubbo의 Java 구현체입니다.
apache/thrift
다양한 프로그래밍 언어에서 호환되는 클라이언트와 서버를 생성하는 코드 생성기를 갖춘 언어 독립적인 RPC 프레임워크입니다.
대체할 수 있는 제품:gRPC
Protocol Buffers
- 스타
- 10,958
- 포크
- 4,116
- 열린 이슈
- 29
- 마지막 커밋
- 16시간 전
어떤 프로젝트인가요?
Apache Thrift는 지점 간 원격 프로시저 호출을 위한 경량 소프트웨어 스택입니다. 데이터 전송, 데이터 직렬화, 애플리케이션 수준 처리에 필요한 추상화와 함께, 간단한 인터페이스 정의 언어를 입력받아 여러 언어의 클라이언트 및 서버 코드를 생성하는 코드 생성기를 제공합니다.
Thrift는 28개 프로그래밍 언어를 지원하므로 서로 다른 언어로 작성된 서비스끼리 데이터를 주고받고 서로의 메서드를 호출할 수 있습니다. 서버를 업그레이드해도 기존 클라이언트가 동작하도록 설계되었으며, 최신 클라이언트가 구버전 서버와 통신할 수도 있어 API 버전 관리가 수월합니다.
컴파일러는 C++로 구현되어 있으며, 저장소에는 언어별 라이브러리, 언어 간 테스트를 포함한 테스트 스위트, 튜토리얼이 들어 있습니다. 빌드는 Autotools 또는 Docker를 사용해 진행합니다.
핵심 기능
- 01간단한 정의 언어를 바탕으로 클라이언트와 서버 코드 생성
- 0228개 프로그래밍 언어 지원
- 03플러그형 데이터 전송 및 직렬화 계층
- 04동시에 전환하지 않는 버전 업그레이드 간 호환성을 고려한 설계
- 05언어 간 테스트 스위트 포함
활용 사례
- 서로 다른 언어로 작성되어 상호 호출이 필요한 마이크로서비스 구축
- 업그레이드 중에도 기존 클라이언트를 계속 지원해야 하는 안정적인 RPC API 제공
- C++ 백엔드와 다른 언어로 작성된 클라이언트 간 데이터 구조 공유
빠른 시작
- 1
configure 스크립트를 생성합니다(소스 저장소에서 빌드할 때만 필요하며, tarball에서는 필요하지 않음)
./bootstrap.sh - 2
빌드를 구성합니다. Boost가 표준 위치가 아닌 곳에 있다면 --with-boost를 사용합니다
./configure - 3
Thrift를 빌드합니다
make - 4
슈퍼유저 권한으로 Thrift를 설치합니다
make install
사용 전 알아둘 점
- 소스에서 빌드하려면 autotools와 Boost 등의 필수 구성 요소가 필요합니다. 설치 문서에 나와 있지만 오래된 내용일 수 있습니다.
- Java, Ruby, PHP와 같은 일부 언어 라이브러리는 각 언어의 빌드 도구를 사용해 수동으로 설치해야 합니다.
토픽
자주 묻는 질문
- thrift은(는) 무엇인가요?
- 다양한 프로그래밍 언어에서 호환되는 클라이언트와 서버를 생성하는 코드 생성기를 갖춘 언어 독립적인 RPC 프레임워크입니다. Apache Thrift는 지점 간 원격 프로시저 호출을 위한 경량 소프트웨어 스택입니다. 데이터 전송, 데이터 직렬화, 애플리케이션 수준 처리에 필요한 추상화와 함께, 간단한 인터페이스 정의 언어를 입력받아 여러 언어의 클라이언트 및 서버 코드를 생성하는 코드 생성기를 제공합니다.
- thrift은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- thrift은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- thrift은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. thrift의 마지막 커밋은 2026년 10월 21일입니다.
- thrift은(는) 어디에 사용할 수 있나요?
- 서로 다른 언어로 작성되어 상호 호출이 필요한 마이크로서비스 구축 업그레이드 중에도 기존 클라이언트를 계속 지원해야 하는 안정적인 RPC API 제공 C++ 백엔드와 다른 언어로 작성된 클라이언트 간 데이터 구조 공유
- thrift는 어떻게 설치하나요?
- configure 스크립트를 생성합니다(소스 저장소에서 빌드할 때만 필요하며, tarball에서는 필요하지 않음): ./bootstrap.sh 빌드를 구성합니다. Boost가 표준 위치가 아닌 곳에 있다면 --with-boost를 사용합니다: ./configure Thrift를 빌드합니다: make 슈퍼유저 권한으로 Thrift를 설치합니다: make install
- thrift은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/apache/thrift
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
먼저 파싱하거나 언팩하지 않고 바이너리 데이터를 바로 읽을 수 있는 크로스 플랫폼 직렬화 라이브러리입니다.
최소한의 설정으로 운영 환경에 적합한 Spring 기반 애플리케이션과 서비스를 만들 수 있는, 기본 설정이 잘 갖춰진 Java 프레임워크입니다.
소스 코드를 직접 수정할 수 없는 객체를 포함해, Java 객체를 JSON으로 변환하고 다시 객체로 읽어 오는 Java 라이브러리입니다.
REST, gRPC, AMQP RPC, NATS RPC 전송 방식을 아우르는 Go 서비스용 Clean Architecture 프로젝트 템플릿입니다.
창 배치부터 키 리매핑까지, 데스크톱을 맞춤 설정하고 일상 작업을 빠르게 처리할 수 있는 30개 이상의 Windows 유틸리티 모음입니다.