프로젝트 소개
gRPC-RS는 Rust언어 기반의 고성능 RPC 프레임워크입니다. 이 프로젝트는 알리페이 팀이 개발 및 유지보수 중이며, C Core 라이브러리와 Futures를 기반으로 구현되었습니다. gRPC는 HTTP/2를 지원하며, 이 모바일 애플리케이션에 최적화된 RPC 프레임워크로, SSL 암호화, 압축 기능, 그리고 다양한 플랫폼 호환성을 제공합니다.
프로젝트 소스코드 접근 방법
gRPC-RS 프로젝트는 GitHub 저장소에 호스팅되어 있습니다. 아래 링크를 통해 접근할 수 있습니다:
https://github.com/alipay/grpc-rs
Git을 활용하여 해당 프로젝트를 로컬로 복제할 수 있습니다:
git clone https://github.com/alipay/grpc-rs
개발 환경 설정
필요한 소프트웨어
gRPC-RS를 사용하기 위해 아래와 같은 도구들을 설치하여야 합니다:
- CMake 3.8.0 이상
- Rust 컴파일러 1.19.0 이상
- LLVM 및 Clang 3.9 이상
- binutils 2.22 이상
- Go 1.7 이상 (boringssl 사용 시 필수)
Linux 및 MacOS 사용자는 gcc 또는 clang을 설치하는 것이 좋습니다. Windows 사용자는 Active State Perl, yasm, 그리고 Visual Studio 2015 이상을 설치하여야 합니다.
개발 환경 구성 방법
Linux 기반 시스템에서 필요한 도구들을 설치하는 방법은 다음과 같습니다:
sudo apt-get update && sudo apt-get install cmake rustc cargo build-essential llvm
Windows 환경에서는 Chocolatey를 통해 설치하거나 공식 웹사이트를 통해 직접 설치할 수 있습니다.
프로젝트 설치 방법
-
프로젝트 저장소를 복제한 후, 아래 스크립트를 실행하여 서브모듈을 초기화합니다:
./scripts/reset-submodule.sh -
환경이 구성되면, cargo를 통해 프로젝트를 빌드할 수 있습니다:
cargo build
OpenSSL과의 연결 문제 발생 시, Cargo.toml 파일에서 해당 기능을 활성화하여야 합니다.
코드 생성 스크립트
gRPC-RS는 .proto 파일로부터 코드를 자동 생성할 수 있는 스크립트를 제공합니다. 수동 방식으로 코드를 생성하는 방법은 다음과 같습니다:
cargo install protobuf-codegen grpcio-compiler
PROTOC 컴파일러를 통해 코드를 생성할 수 있습니다:
protoc --rust_out=. --grpc_out=. --plugin=protoc-gen-grpc=$(which grpc_rust_plugin) your/proto/file.proto
코드 생성을 자동화하기 위해 build.rs 파일 내에서 또는 protoc-grpcio 라이브러리를 활용할 수 있습니다.