버
버즈빌
March 15, 20221회
DynamoDB를 사용하는 Go 서비스의 응답 시간 최적화 #1 AWS Credential Token

간단 소개
Go DynamoDB 서비스 응답 시간 최적화 과정: AWS SDK 토큰 발급 로직 개선을 통해 간헐적 응답 시간 증가 문제 해결.
AI Summary
- DynamoDB 응답 시간 문제 분석
- Go 서비스에서 DynamoDB를 사용할 때 간헐적으로 높은 응답 시간이 발생하는 문제 발생
- DataDog APM을 통해 Trace를 분석한 결과, AWS SDK 내부의 Credential Token 발급 로직이 원인임을 확인
- Credential Token 발급 최적화
- STS 엔드포인트를 리전별로 변경하여 토큰 재발급 시간을 단축했지만, 여전히 GRPC API 타임아웃 가능성이 존재
- 백그라운드에서 토큰을 재발급하는 방식으로 개선하려 했으나, InvalidSignatureException 에러 발생
- RefreshProvider에서 토큰 발급 후 즉시 Credentials를 갱신하도록 수정하여 문제 해결
- 결론 및 추가 과제
- http.Client에 Trace를 심어 AWS SDK의 토큰 발급 로직을 파악하고 최적화하여 응답 시간 개선
- 릴리즈 후 트래픽 증가로 인한 DynamoDB 응답 시간 문제는 다음 포스팅에서 다룰 예정
Next Feeds

뱅크샐러드 채용 여정 함께하기
뱅크샐러드 채용 프로세스를 소개하고, 각 전형별 합격 팁과 조직 문화, 비전을 공유하여 지원자에게 유용한 정보를 제공합니다.
채용뱅크샐러드인터뷰조직문화핵심가치
2022. 3. 15.
뱅크샐러드
카카오페이지는 BFF(Backend For Frontend)를 어떻게 적용했을까?
카카오페이지는 BFF를 통해 프론트엔드의 복잡성을 줄이고 효율적인 데이터 관리를 구현했습니다. GraphQL과 Urql을 활용한 구조를 소개합니다.
BFFGraphQLApollo ClientUrqlMSA
2022. 3. 10.
카카오엔터테인먼트FE
카카오페이지는 BFF(Backend For Frontend)를 어떻게 적용했을까?
카카오페이지는 BFF를 통해 프론트엔드의 복잡성을 줄이고 생산성을 높였습니다. Urql과 Redux를 함께 사용하여 데이터 관리 효율성을 개선했습니다.
BFFGraphQLApollo ClientUrqlRedux
2022. 3. 10.
카카오엔터테인먼트FE

Airbridge Data Pipeline에서 Serverless 활용 사례
Airbridge는 Serverless framework를 활용하여 Data Pipeline을 구축하고 운영하며, Kafka Connect 관리 및 Batch Job 실행 등의 사례를 소개합니다.
ServerlessLambdaServerless frameworkAirbridgeData Pipeline
2022. 3. 7.
AB180

Airbridge Data Pipeline에서 Serverless 활용 사례
Airbridge 데이터 파이프라인의 서버리스 활용 사례와 ABR 백엔드 그룹의 인재상 및 채용 정보를 제공합니다.
Airbridge데이터 파이프라인서버리스ABR 백엔드 그룹채용
2022. 3. 7.
AB180

HTTP connection pool in Go explained
Go HTTP 커넥션 풀 관리 방법, 파라미터 설정, httptrace.ClientTrace를 활용한 성능 분석 및 최적화 기법을 설명합니다.
HTTPconnection poolGohttp.Transporthttptrace
2022. 3. 7.
버즈빌