이미 소장하고 있다면 판매해 보세요.
|
Chapter 1 인프라 아키텍처를 살펴보자 1
1.1 | 시작하며 2 Column 궁극의 아키텍처와 최적의 아키텍처 3 1.2 | 집약형과 분할형 아키텍처 4 1.3 | 수직 분할형 아키텍처 10 Column 웹은 클라이언트-서버형을 대체할 수 있을까? 14 1.4 | 수평 분할형 아키텍처 14 Column 가상화 진행 상황 18 1.5 | 지리 분할형 아키텍처 19 Column 기술은 대물림되고 있다 23 Chapter 2 서버를 열어 보자 25 2.1 | 물리 서버 26 2.2 | CPU 31 2.3 | 메모리 33 2.4 | I/O 장치 36 Column 코드네임의 정체 36 Column 조립 PC 추천 43 2.5 | 버스 43 Column 불사조 InfiniBand 48 2.6 | 정리 49 Chapter 3 3계층형 시스템을 살펴보자 51 3.1 | 3계층형 시스템의 구성도 52 3.2 | 주요 개념 설명 53 Column 막대 인간의 모험 57 Column 커널은 결코 견고하지 않다 62 3.3 | 웹 데이터 흐름 63 Column 데이터와 함께 전달되는 당신을 향한 마음 71 Column RDBMS와 KVS의 소리 없는 전쟁 75 Column 높은 하늘을 날다 ― 조감도 78 Chapter 4 인프라를 지탱하는 기본 이론 79 4.1 | 웹 데이터 흐름 80 Column 병렬과 병행 86 4.2 | 동기/비동기 86 Column C10K 문제 93 4.3 | 큐 94 4.4 | 배타적 제어 101 Column 멀티 프로세서 시스템에서는 배타적 제어가 어렵다 106 4.5 | 상태 저장/상태 비저장 107 4.6 | 가변 길이/고정 길이 113 4.7 | 데이터 구조(배열과 연결 리스트) 119 4.8 | 탐색 알고리즘(해시/트리 등) 124 Chapter 5 인프라를 지탱하는 응용 이론 133 5.1 | 캐시 134 5.2 | 끼어들기 139 5.3 | 폴링 144 5.4 | 핑퐁 149 5.5 | 저널링 156 Column 변화는 항상 순식간에 일어난다 162 5.6 | 복제 163 5.7 | 마스터-슬레이브 168 5.8 | 압축 172 5.9 | 오류 체크/오류 수정 178 Chapter 6 시스템을 연결하는 네트워크 구조 185 6.1 | 네트워크 186 6.2 | 【기초】 계층 구조란? 187 6.3 | 【기초】 프로토콜이란? 191 Column 표준화 단체에 대해서 194 6.4 | TCP/IP를 이용하고 있는 현재의 네트워크 196 6.5 | 【레이어 7】 애플리케이션 계층의 프로토콜 HTTP 199 Column 한 번 잡으면 놓아주지 않는다 204 6.6 | 【레이어 4】 전송 계층 프로토콜 TCP 205 Column 인터넷의 주인은 누구? 207 6.7 | 【레이어 3】 네트워크 계층의 프로토콜 IP 216 Column IP 주소 고갈과 IPv6 221 Column IP 헤더에서 체크섬이 사라진 날 224 6.8 | 【레이어 2】 데이터 링크 계층의 프로토콜 이더넷 224 6.9 | TCP/IP를 이용한 통신 이후 231 Column NIC의 끼어들기와 패킷 처리 235 Chapter 7 무정지를 위한 인프라 구조 237 7.1 | 안정성 및 이중화 238 Column 장애 보호 240 7.2 | 서버 내 이중화 241 7.3 | 저장소 이중화 248 7.4 | 웹 서버 이중화 256 Column 장애 괴담 첫 번째 이야기, ‘벌써 시간이 다 됐어?’ 256 Column DSR(Direct Server Return) 264 7.5 | AP 서버 이중화 265 7.6 | DB 서버 이중화 270 Column 장애 괴담 두 번째 이야기, ‘진단 때문에 죽었다’ 279 7.7 | 네트워크 장비 이중화 279 Column 장애 괴담 세 번째 이야기, ‘브로드캐스트 스톰’ 289 7.8 | 사이트 이중화 290 7.9 | 감시 293 7.10 | 백업 301 7.11 | 정리 305 Chapter 8 성능 향상을 위한 인프라 구조 307 8.1 | 응답과 처리량 308 Column 가장 중요한 응답 시간은? 311 8.2 | 병목 현상이란? 315 Column CAP 정리를 익혀서 초능력자가 되자 317 Column 병목 현상의 숙명의 적, 데이터베이스 321 8.3 | 3계층형 시스템 그림을 통해 본 병목 현상 321 Column 여유가 있는 노련한 시스템 324 Column C는 자바보다 빠르다? 333 Column 아이들을 공원에서 놀게 하자 341 Column ORDER(N) ? 일인분 나왔습니다 344 Column 대역이 가장 중요한 것일까? 347 8.4 | 정리 354 찾아보기 .... 355 |
|
3계층 시스템에서는 사용자가 웹 브라우저를 통해 시스템에 접속한다. 예를 들어, 인터넷 검색 시스템에서는 사용자가 웹 브라우저에 입력하는 화면은 프레젠테이션 계층의 웹 서버에 먼저 전달된다. 웹 서버는 그 요청을 뒤에 있는 애플리케이션 계층의 애플리케이션 서버(AP 서버)에 전달한다. AP 서버는 검색 키워드를 바탕으로 무엇을 검색해야 할지 판단해서 뒤에 있는 데이터 계층의 데이터베이스(DB 서버)에 데이터를 요청한다. 이 처리 흐름은 3장에서 자세히 소개할 것이다. _13
프로세스 및 스레드가 활동하려면 메모리 공간이 필요하다. 이것은 커널(뒤에서 설명)에 의해 메모리 상에 확보된다. 이 메모리 공간은 막대 인간이 자신을 위해 소유하는 공간으로, 개인 공간이라 할 수 있다. 다양한 처리를 하면서 데이터를 주고받기 위해 이 공간을 사용한다. 그림 3.3에 있는 것처럼 프로세스 시작 시에 이 공간이 확보된다. _55p 여러 CPU로 병렬 처리를 하는 경우는 공유 데이터를 보호하기 위해 배타적 제어를 하지만, 필요 이상으로 배타적 제어를 사용하면 CPU가 여러 개 있더라도 하나밖에 사용할 수 없게 된다. 따라서 정말로 필요한 곳에만 배타적 제어를 하고 병렬 처리가 가능한 부분을 늘리면 CPU를 유용하게 활용해서 처리 속도를 높일 수 있다. _105p 저장소 제조사별로 조금씩 구조가 다르지만, 기본 개념은 그림과 같다. 블록 단위로 증감 데이터만 복제 위치에 반영해서 데이터 전송량을 줄인다. 복제 전송량은 실제 갱신 데이터 양에 비례한다. 또한, 데이터 보호를 최우선으로 할 때는 쓰기 처리 시 데이터가 복제되기까지 기다리는 모드가 있다. 4장의 4.2절 ‘동기/비동기’에서도 설명했지만, 기다리는 것이 동기, 기다리지 않는 것이 비동기다. _165p OS에서는 커널 내에서 프레임을 처리하고 있지만, L2 스위치에서는 어떻게 처리할까? L2 스위치도 컴퓨터이기 때문에 내부에는 스위치용 OS가 동작하고 있다. 그러면 이 OS가 프레임을 처리하는 걸까? 사실은 좀 다르다. 이런 네트워크 스위치는 일반 서버와 달리 프레임이나 패킷 처리에 특화된 ASIC라 하는 회로를 가지고 있어서 하드웨어 처리만으로 빠르게 프레임이나 패킷을 전송할 수 있다. _232p 백업은 압축 기능이 유효한 처리다. 왜냐하면 백업은 데이터 갱신이 발생하지 않고, 평상 시에는 사용하지 않는 데이터로 가능한 작은 크기로 저장해 두고 싶은 데이터이기 때문이다. 압축은 압축 때는 물론 해제 시에도 CPU 사용률이 늘어나고 실행 시간도 길어지는 경향이 있다. 하지만 RTO 시간 내에 처리가 끝난다면 꼭 압축을 사용하도록 하자. _303p ___본문 중에서 |
|
IT 인프라 전반에 대한 상식을 그림으로 이해하자!
이 책은 시스템이 동작하기 위한 토대인 ‘IT 인프라’ 구조에 관해 설명하고 있다. 최근 들어 시스템의 고도화, 복잡화가 이루어짐에 따라 인프라 전체 구조를 파악하기 어려워지고 있다. 이런 상황에서 엔지니어는 자신이 담당하는 업무 외의 영역에 대해서 본질적인 구조를 이해할 기회가 거의 없다. 하지만 고성능, 안정성을 추구하는 시스템을 만들고자 한다면 전체를 파악한 후에 담당 영역을 최적화해야 한다. 이 책의 저자들은 현장에서 인프라 구축을 담당했던 컨설턴트들이다. 다양한 환경에서 체득한 인프라 기술의 핵심을 포함해서 어떤 식으로 이 책을 집필해야 독자들이 이해하기 쉬울지에 주안점을 뒀다. 이 책의 내용을 이해해 두면 몰랐던 영역이나 새로운 기술을 접하더라도 그 원리를 쉽게 이해할 수 있을 것이다. 또, 시스템 전체 구성을 파악하기 쉬워져서 업무 능력 향상에도 도움이 될 것이다. 인프라 엔지니어를 포함해 애플리케이션 개발자, DB 관리자에게 적극 추천한다. |