November 2023
Beginner to intermediate
344 pages
3h 47m
Korean

매튜 허슬리(Matthew Housley) 박사
오늘날 전형적인 환경에서 데이터는 파이프라인의 단계별로 복잡한 분산 시스템을 거쳐 흐르기 때문에 서버는 수많은 상대와의 연결을 안정적으로 유지해야 합니다. 2020년에 일어난 아마존 키네시스Amazon kinesis 중단 사건은 동시성 문제를 무시했을 때 발생하는 결과를 잘 보여줍니다.
2020년 11월 25일에 발생한 중단 때문에 인터넷의 많은 부분이 마비되었습니다. 여기서는 독자가 아마존의 공식 보고서를 이미 읽었다고 가정하겠습니다. 보고서에서 엔지니어링의 몇 가지 실수를 밝혔지만, 앞으로는 주로 스레드 기반 동시성의 제약에 집중해서 살펴보겠습니다.
¦ 운영 체제 스레드 ¦
프런트엔드 서버는 각 프런트엔드 플리트fleet의 다른 서버마다 운영 체제 스레드를 생성합니다.
리눅스 포함 대부분의 최신 운영 체제에서 스레드는 CPU가 사용 가능한 CPU 코어 개수를 훨씬 초과하는 여러 작업을 동시에 실행할 수 있도록 하는 메커니즘입니다. 스레드는 할당된 시간만큼 CPU 코어를 활용합니다. 할당된 시간이 지나면 시스템 메모리에 스레드 상태가 덤프되며 다음 스레드가 코어에 로드됩니다. 빠른 사이클로 인해 운영 체제는 모든 스레드가 동시에 실행되는 ...