첫 회사 퇴사 후 회고
첫 회사 회고록 2025-04-01 첫 직장에 취업을 하게 되었다. 대학교 졸업 후 취업을 바로 하기 어려울 것이라고 생각한 나는 졸업 유예를 하게 되었는데, 예상과 다르게 운이 좋게 바로 취업을 하게 된 것이다. 첫 회사는 여행사였다. 나름 여행 업계에서는 Top 3 안에 드는 회사(매출액 기준) 이었는데, 여행사는 내가 아는 IT회사는 아니었고...
첫 회사 회고록 2025-04-01 첫 직장에 취업을 하게 되었다. 대학교 졸업 후 취업을 바로 하기 어려울 것이라고 생각한 나는 졸업 유예를 하게 되었는데, 예상과 다르게 운이 좋게 바로 취업을 하게 된 것이다. 첫 회사는 여행사였다. 나름 여행 업계에서는 Top 3 안에 드는 회사(매출액 기준) 이었는데, 여행사는 내가 아는 IT회사는 아니었고...
Cache Stampede 문제상황 Cache Stampede(= Thundering Herd, Dog-piling)는 캐시 미스가 동시에 대량으로 발생해 그 요청이 전부 DB로 몰리는 현상이다. 캐시는 “미스가 나면 원본을 조회해서 다시 채운다”는 전제로 동작하는데, 그 미스가 서로 다른 시점에 흩어져서 발생한다는 암묵적 가...
String String은 단순한 key-value 저장과 조회(O(1))에 최적화되어 있고, SET에 NX(존재하지 않을 때만 설정)와 EX(만료 시간) 옵션을 함께 줄 수 있어 원자적인 생성과 자동 만료를 동시에 처리할 수 있다. 명령어 시간복잡도 비고 SE...
RAM based Redis가 빠른 가장 근본적인 이유는 데이터를 디스크가 아닌 RAM에 저장하기 때문이다. 메모리 계층 구조를 보면 RAM 접근 속도는 약 120ns인 반면, SSD는 50~150us, HDD는 1~10ms가 걸린다. 즉 RAM은 SSD보다 약 1,000배, HDD보다는 최대 100,000배 가까이 빠르다. MySQL 같은 디...
Read Strategies Cache Aside 동작 방식: 캐시와 DB 사이에 별도의 중개자가 없고, 애플리케이션이 캐시와 DB를 둘 다 직접 다룬다. 애플리케이션이 먼저 캐시를 조회한다. 캐시에 없으면(cache miss) 애플리케이션이 직접 DB를 조회하고 데이터를 받아서 ...
Cache Systems Client-side Cache 정의: 서버로 요청을 보내기도 전에, 사용자의 브라우저/모바일 기기 로컬에 저장해둔 응답을 그대로 재사용하는 캐시다. 네트워크 왕복 자체가 발생하지 않는다는 점에서 아래 CDN·Load Balancer 캐시(요청은 서버까지 가되 더 가깝거나 더 빠른 계층에서 응답)와 결정적으로 다르다....
Consistency 정의: 분산 시스템에서 데이터가 여러 노드(replica)에 복제되어 있을 때, 어느 노드에 요청을 보내도 항상 가장 최신에 쓰여진 값을 읽을 수 있어야 하는 성질이다. CAP에서 말하는 Consistency는 ACID의 Consistency(제약조건 만족)와는 다른 개념으로, 사실상 Linearizability(선형성) ...
Atomicity / Consistency / Isolation / Durability 트랜잭션이 안전하게 동작하기 위해 지켜야 할 네 가지 성질을 묶어 ACID라고 부른다. 이 글에서 다루는 격리 수준(Isolation Level)은 이 중 Isolation을 얼마나 엄격하게 보장할지 선택하는 옵션이다. Atomicity(원자성): 트랜잭션...
HTTP는 처음 등장한 이후 지금까지 “더 빠르게, 더 효율적으로” 통신하기 위한 방향으로 계속 발전해왔다. 각 버전은 이전 버전에서 드러난 성능 한계를 해결하기 위해 등장했고, 그 한계를 이해하면 다음 버전이 왜 그런 구조를 택했는지 자연스럽게 이해할 수 있다. HTTP/1 정의: 1996년에 표준화된 초기 HTTP(HTTP/1.0)로,...
Reverse Proxy VS API Gateway VS Load Balancer Reverse Proxy, API Gateway, Load Balancer는 모두 “클라이언트와 서버 사이에 위치해 요청을 대신 받아 처리한다”는 공통점 때문에 자주 혼동되지만, 각각 만들어진 목적과 다루는 관심사의 층위가 다르다. 실제로는 하나의 제품(Nginx, E...