비동기 원격 호출의 구현
async와 await를 사용하는 Rust 프로그램에서 gRPC 통신을 구성한다. 일반적인 gRPC 처리와 HTTP 2 구현 및 코드 생성 도구를 나누어 구성한다. 일반 처리 계층은 제네릭 인터페이스를 통해 다른 인코딩이나 HTTP 2 구현과도 연결할 수 있다.
서비스 정의에서 코드로
Protocol Buffers 정의를 바탕으로 클라이언트와 서버 코드를 생성하는 도구를 제공한다. 코드 생성에는 Prost를 활용한다. 통신할 서비스의 정의와 실제 네트워크에서 호출을 수행하는 구성 요소를 연결하는 역할이다.
전송과 주변 기능
HTTP 2 구현은 Hyper와 Tokio 기반을 사용한다. 양방향 스트리밍과 Rustls 기반 TLS 및 부하 분산을 지원한다. 사용자 메타데이터와 인증 및 상태 확인 기능을 함께 구성해 원격 호출 서비스를 만들 수 있다.
관련 문서
gRPC / Hyper HTTP / Tokio / Tower 네트워크 라이브러리 / 프로토콜 버퍼 / Rust