Builder.shin
Infrastructure
35개의 게시물
Elasticsearch
Elasticsearch 대용량 데이터 집계 쿼리 최적화
수억 건의 로그 데이터에서 일별 통계를 뽑는 집계 쿼리가 타임아웃되는 문제를 겪었다. Composite Aggregation과 인덱스 설계 개선으로 쿼리 시간을 90% 단축했다.
2022년 8월 21일
Elasticsearch
Elasticsearch 대용량 데이터 aggregation 성능 개선
실시간 통계 API에서 Elasticsearch aggregation 쿼리가 타임아웃되는 문제가 발생했다. 데이터가 1억 건을 넘어가면서 기존 방식으로는 한계에 부딪혔고, 여러 최적화 기법을 적용해 응답 속도를 개선했다.
2022년 8월 14일
Elasticsearch
Elasticsearch 7.x 검색 결과 정확도 개선 - 형태소 분석기 적용기
서비스 검색 기능의 정확도가 떨어진다는 피드백이 계속 들어왔다. Elasticsearch의 기본 토크나이저 대신 nori 형태소 분석기를 적용하여 한글 검색 품질을 개선한 과정을 기록한다.
2022년 5월 22일
Elasticsearch
Elasticsearch 대용량 집계 쿼리 최적화 경험
월간 집계 API 응답 시간이 30초를 넘어가면서 타임아웃이 발생했다. 인덱스 설계와 쿼리 개선을 통해 3초 이내로 줄인 과정을 정리했다.
2022년 3월 14일
Elasticsearch
Elasticsearch 인덱스 매핑 변경 시 재색인 전략
운영 중인 검색 서비스에서 인덱스 매핑을 변경해야 하는 상황이 발생했다. 무중단으로 재색인을 진행하기 위해 alias를 활용한 blue-green 방식을 적용했고, 약 500만 건의 문서를 안전하게 마이그레이션했다.
2022년 3월 11일
gRPC
gRPC 스트리밍으로 실시간 로그 전송 구현하기
마이크로서비스 간 실시간 로그 수집을 위해 gRPC 서버 스트리밍을 도입했다. REST SSE 대비 성능과 타입 안정성 측면에서 만족스러운 결과를 얻었다.
2021년 12월 16일
gRPC
gRPC 서비스에 health check 구현하기
마이크로서비스 환경에서 gRPC 서버의 상태를 모니터링하기 위해 표준 health check 프로토콜을 구현했다. Kubernetes liveness/readiness probe와 연동하여 안정적인 배포 환경을 구축한 과정을 기록한다.
2021년 7월 18일
gRPC
gRPC 스트리밍으로 대용량 데이터 처리 개선하기
REST API로 처리하던 대용량 로그 데이터 전송을 gRPC Server Streaming으로 전환했다. 메모리 사용량과 응답 속도가 크게 개선되었고, 클라이언트 구현도 간결해졌다.
2021년 6월 7일
gRPC
gRPC 프로토콜 버전 관리 전략
마이크로서비스 간 gRPC 통신에서 프로토콜 변경 시 하위 호환성을 유지하는 방법을 정리했다. 실제 배포 중 겪은 문제와 필드 번호 관리, deprecation 전략을 다룬다.
2021년 6월 2일
gRPC
gRPC Interceptor로 인증 미들웨어 구현하기
Node.js 기반 마이크로서비스에서 gRPC 서버 간 인증을 구현해야 했다. Interceptor를 활용해 JWT 검증 로직을 중앙화한 과정을 정리했다.
2021년 4월 19일
Previous
1
2
3
4
Next
카테고리
Builder.shin