Fan-out on Write 방식으로 타임라인 개선하기 - 2. 설계 및 기술 선택 근거
홈 타임라인 API를 Fan-out on write 방식으로 개선하기 위해 시스템 구성 요소와 동작을 설계한다.
2491 words
|
12 minutes
Fan-out on Write 방식으로 타임라인 개선하기 - 1. 문제 인식 (부하 테스트)
홈 타임라인 조회 API 에서 발생하는 병목 현상을 k6, 애플리케이션 로그, MySQL Slow query 로그를 이용하여 분석한다.
3407 words
|
17 minutes
[Server] Graceful Shutdown
SIGTERM 명령을 보내는 Grateful Shutdown을 이용하여 무중단 배포에서 트래픽 전환을 (또는 프로세스 종료 시) 우아하게 처리할 수 있다.
1499 words
|
7 minutes
[프로그래머스] 뒤에 있는 큰 수 찾기
스택은 『뒷 큰수』가 될 가능성이 있는 후보들을 담아두는 역할을 한다. 이렇게 스택에 원소를 쌓으면서 특정 순서(오름차순 또는 내림차순)을 유지하도록 조작하는 알고리즘 패턴을 단조 스택(Monotic Stack)이라고 한다.
1506 words
|
8 minutes
TransactionalEventListener + 배치 작업으로 회원 뱃지 발급 기능 구현하기
뱃지 발급 기능에서 에러 로그 없이 간헐적으로 발생하는 비동기 처리 버그의 원인을 데이터베이스의 Isolation Level 관점에서 추적하고, @TransactionalEventListener와 배치 처리를 통해 해결한다.
2588 words
|
13 minutes
Cover Image of the Post
[프로그래머스] 요격 시스템
끝나는 시간(e)를 기준으로 정렬하고, 아직 요격되지 않은 미사일이 나타내면 그 미사일의 끝나는 지점(e)에 요격 경계선을 세운다고 생각해보자.
1055 words
|
5 minutes
[TroubleShooting] getRemoteAddr()이 실제 IP 주소를 가져오지 못하는 문제
프록시 환경에서 getRemoteAddr()가 실제 클라이언트 IP가 아닌 프록시 IP를 반환할 때, Spring Boot의 server.forward-headers-strategy 설정을 통해 문제를 해결하거나, 헤더에서 직접 IP 주소를 추출할 수 있다.
1271 words
|
6 minutes
[Database] ACID 보장을 위한 DBMS 동작 방식 (MySQL 위주)
트랜잭션의 ACID를 보장하기 위한 DBMS의 내부 동작에 대해 알아보자.
1846 words
|
9 minutes