| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- architecture
- Infra
- Debugging
- frontend
- web
- reliability
- HTTP
- Microservices
- Operations
- JavaScript
- backend
- DevOps
- observability
- Ops
- 성능
- Performance
- react
- SRE
- Git
- CSS
- PostgreSQL
- NextJS
- database
- Security
- version-control
- auth
- CI
- API
- Kubernetes
- aws
- Today
- Total
목록2026/04/10 (4)
고민보단 실천을
이미지 업로드 파이프라인 최적화: 리사이징, 썸네일, WebP/AVIF 변환을 어디서 처리할까이미지 업로드는 저장만 되는 순간 끝나는 기능이 아니다. 원본 보관, 파생 이미지 생성, 포맷 변환, 캐시 전략까지 연결돼야 비용과 성능이 안정된다.중급 설계에서는 클라이언트, 엣지, 서버, 비동기 워커 중 어디에서 어떤 처리를 할지 역할을 나눠야 한다.왜 지금 이 주제가 중요한가원본을 그대로 서비스하면 대역폭과 LCP가 모두 악화된다.모든 변환을 동기 요청에서 처리하면 업로드 성공률과 응답 시간이 떨어진다.포맷 변환은 성능 개선 도구이지만 브라우저 호환성과 저장 비용을 함께 고려해야 한다.핵심 설계 포인트업로드 경로는 원본 저장과 메타데이터 기록을 우선 완료하고, 변환은 비동기 워커로 넘긴다.썸네일, 리스트용,..
GraphQL 성능 튜닝: N+1 문제, DataLoader, Persisted Query로 병목 줄이기GraphQL은 필요한 데이터를 정확히 요청할 수 있게 해 주지만, 서버가 자동으로 효율적인 쿼리를 만들어 주는 것은 아니다.중급 운영에서는 스키마 설계, resolver 호출 패턴, 캐싱, persisted query를 함께 다뤄야 실제 성능이 좋아진다.왜 지금 이 주제가 중요한가N+1 문제는 작은 데이터셋에서는 안 보이다가 실서비스에서 폭발한다.복잡한 쿼리는 DB 병목뿐 아니라 네트워크 payload와 캐시 무효화 비용도 키운다.쿼리 자유도가 높을수록 서버는 guardrail을 명확히 둬야 한다.핵심 설계 포인트resolver는 각각 독립적으로 DB를 때리지 않도록 DataLoader 또는 batc..
Feature Flag 운영 가이드: 점진 배포, A/B 테스트, Kill Switch를 안전하게 설계하는 방법Feature Flag는 배포를 기능 공개와 분리해 주지만, 규칙 없이 늘리면 두 번째 설정 시스템이 된다.중급 팀에서 중요한 것은 '플래그를 만드는 법'보다 '언제 제거하고, 누가 소유하며, 장애 때 어떻게 끄는가'를 정의하는 것이다.왜 지금 이 주제가 중요한가배포와 공개를 분리하면 리스크를 줄일 수 있지만, 오래된 플래그는 코드 복잡도를 폭발시킨다.점진 배포와 실험은 목적이 다르다. 하나의 플래그에 두 목적을 섞으면 해석이 꼬인다.kill switch가 없다면 플래그는 비상 장치가 아니라 장식에 가깝다.핵심 설계 포인트release flag, experiment flag, ops flag를 ..
Elasticsearch 샤드 설계 실전: shard/replica 개수와 검색 성능을 같이 보는 기준Elasticsearch는 샤드를 많이 쪼갠다고 빨라지지 않는다. 작은 샤드가 많아질수록 메타데이터, merge, relocation 비용이 눈에 띄게 커진다.중급 운영에서는 인덱스 설계를 데이터 크기와 검색 패턴이 아니라, 장애 복구 시간과 운영 인력까지 포함해 봐야 한다.왜 지금 이 주제가 중요한가샤드 수는 성능뿐 아니라 장애 복구 시간과 노드 증설 전략에 직접 영향을 준다.replica는 가용성 도구이면서 검색 처리량 레버이기도 하다.hot shard를 방치하면 특정 노드만 포화되고 클러스터 전체 성능이 흔들린다.핵심 설계 포인트인덱스당 샤드 수는 예상 총 데이터와 일 단위 증가량, 보관 정책으로 ..
