응답 시간에는 요청 처리하는 서비스 시간 + 네트워크 지연 + 큐 지연시간도 포함된다.
반면에 지연 시간은 요청이 처리되길 기다리는 시간으로, 서비스를 기다리며 휴지 상태인 시간을 말한다.
고의적으로 결함을 유도함으로써 내결함성 시스템을 지속적으로 훈련하고 테스트해서 결함이 자연적으로 발생했을 때 올바르게 처리할 수 있다는 자신감을 높이는 방법
하둡과 같은 일괄처리 시스템은 처리량(초당 처리하는 레코드 수) 또는 데이터 집합으로 작업 수행에 걸리는 전체 시간에 관심을 가진다. 온라인 시스템은 반면에 서비스 응답 시간, 클라이언트가 요청을 보내고 응답을 받는 사이의 시간이 더 중요하다.
작은 비율의 백엔드 호출만 느려도 최종 사용자 요청이 여러 번 백엔드를 호출하면 느린 호출이 발생할 가능성이 증가한다. 그래서 최종 사용자 요청 중 많은 비율의 응답 시간이 결국 느려진다.
다수의 장비에 부하를 분산하는 아키텍처를 말한다.
대부분 사용자의 트윗은 계속해서 사람들이 작성할 때 홈 타임라인에 펼쳐지지만 팔로워 수가 매우 많은 소수 사용자(유명인)는 팬 아웃에서 제외된다. 사용자가 팔로우한 유명인의 트윗은 별도로 가져와 접근 방식 1처럼 읽는 시점에 사용자의 홈 타임라인에 합친다.
<aside> 💡
대규모 시스템 숨터디 진행했던 부분이 연관지어 생각이 났다. 거기서도 읽기를 더 많이 하냐, 쓰기를 더 많이 하냐의 경우에 따라 다른 설계를 진행하고
a가 게시물을 올리면 a를 팔로잉하는 사람들의 피드에 올리는 데 부하가 어느 정도 들까? 피드에 내가 팔로잉한 사람들의 게시물을 보여줄 때 어떤 것부터 보여줄까? 한번에 다 가져오는게 오히려 시스템 터지거나 지연 생기면? 그때 우선순위로 친한 사람이라든가 (자주 찾아본) 그런 사람들의 게시물을 먼저 가지고 오면 어떤가? 이런 이야기도 해봤는데 트위터 타임라인 보면서 다시 그런 생각이 났다.
</aside>