gRPC 기반 웹 개발, 코드 자동 생성으로 생산성 UP!
by DD
2년 전
조회수 8
gRPC 기반 마이크로서비스 호출을 위한 HTTP 클라이언트 코드 자동 생성 시스템 구축
Buf와 @bufbuild/protoplugin을 활용하여 API 호출 코드 및 타입 안전성 확보
응답 속도 90% 감소, 개발 생산성 향상, 인프라 부하 감소 등의 효과 달성
gRPC-Gateway와 Buf를 활용한 아키텍처
뱅크샐러드는 gRPC-Gateway를 통해 gRPC 서비스를 HTTP API로 노출한다. Buf를 사용하여 .proto 파일을 기반으로 HTTP 클라이언트 코드를 자동 생성한다. 따라서 프론트엔드 개발자는 API 호출 중복 문제를 해결하고, 타입 안전성을 확보할 수 있었다.
내부망/외부망 환경 분리, 트레이드오프 분석
내부망과 외부망 호출을 위한 클라이언트 코드 분리를 통해 보안을 강화했다. 외부망 호출 시 IPS 부하를 줄이기 위해 SSR을 적용했지만, 네트워크 홉 증가라는 트레이드오프가 발생했다. 자동 생성된 코드는 이러한 문제를 해결하는 데 기여했다.
코드 자동 생성 시스템 구축, 실전 적용 가이드
@bufbuild/protoplugin을 사용하여 .proto 파일을 파싱하고, 자동 생성된 코드를 활용한다. React-query와 같은 라이브러리 연동을 통해 개발 생산성을 더욱 향상시켰다. 결과적으로 응답 속도 90% 감소 및 인프라 부하 감소를 달성했다.