아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
뱅크샐러드 favicon뱅크샐러드

뱅크샐러드의 Go & gRPC 프로덕션 환경 구축 비법 공개!

by DD
2020-02-27
6년 전
조회수 17

뱅크샐러드는 REST API에서 gRPC로 전환하여 통신 속도 향상을 달성함

Protobuf를 Source of Truth로 활용, API 명세 관리 효율성을 높임

Logrus와 Statsd를 활용, 옵저버빌리티 확보 및 서비스 안정성을 강화

Protobuf 기반 API 명세 관리

뱅크샐러드는 Protobuf를 Source of Truth로 삼아 API 명세의 단일 진실성을 확보했다. IDL 리포지토리를 통해 protobuf 파일을 관리하고, protoc를 사용하여 다양한 언어의 코드를 생성한다. 따라서, API 명세의 일관성을 유지하고, API 문서 노후화 문제를 해결했다.

gRPC-Gateway를 활용한 JSON 호환

기존 REST API를 사용하는 서비스와의 호환성을 위해 gRPC-Gateway를 도입했다. gRPC endpoint를 HTTP layer로 연결하여 JSON 통신을 지원한다. Protobuf를 기반으로 API를 정의하고, JSON 마샬링을 통해 기존 서비스와의 통합을 용이하게 했다. 따라서, 마이크로서비스 아키텍처에서 유연성을 확보했다.

옵저버빌리티 확보를 위한 로깅 및 메트릭

뱅크샐러드는 Logrus를 사용하여 구조화된 로깅을 구현하고, gRPC Interceptor를 통해 로깅 정보를 풍부하게 했다. Stacktrace를 로깅하여 에러 발생 원인을 추적하고, Statsd를 통해 메트릭을 수집한다. 결과적으로, 서비스 안정성을 높이고, 문제 해결 시간을 단축했다.

프로덕션 환경에서 사용하는 golang과 gRPC
고급
아키텍처
Go
gRPC
Protobuf
Logrus
Statsd
Backend
원문 읽기
원문 읽기

댓글 0

첫 번째 댓글을 남겨보세요!

관련 추천 글

뱅크샐러드의 Go 코딩 컨벤션, 지금 바로 확인하세요!

뱅크샐러드 로고

Go + DynamoDB: TLS Handshake 문제 해결기

버즈빌 로고

Go 개발자를 위한 Rust 마이그레이션 가이드: 안전성과 성능을 잡다!

레딧 로고

언어 및 플랫폼 독립적인 데이터 직렬화

깃헙 트랜딩 로고

버즈빌, Go와 gRPC 기반 MSA 구축 사례 공개!

버즈빌 로고

뱅크샐러드, 레거시 시스템을 Go, MySQL 기반 MSA로 성공적으로 전환!

뱅크샐러드 로고
뱅크샐러드 favicon뱅크샐러드
고급
아키텍처
Go
gRPC
Protobuf
Logrus
Statsd
Backend

관련 추천 글

뱅크샐러드의 Go 코딩 컨벤션, 지금 바로 확인하세요!

뱅크샐러드 로고

Go + DynamoDB: TLS Handshake 문제 해결기

버즈빌 로고

Go 개발자를 위한 Rust 마이그레이션 가이드: 안전성과 성능을 잡다!

레딧 로고