"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

서론
- 엔진엑스는 백엔드 개발자 (취준생...이지만)라면 한번은 꼭 들어 본 웹 서버일 것이다. 난 프로젝트에서 잠깐 써본 입장이었지만, 정확한 개념에 대해서도 확실히 알지는 못하는 상황이었다.
- 이 책은 기본서는 절대 아니다. 기본적으로 한 번 이상 직접적으로 써본 입장에서 안다고 가정하고 설명하는 부분이 많았다. 나에게 있어서 사실 알아 듣기 힘든 것도 많았지만 전체적으로 술술 읽어나가며, 나중에 써야할 일이 있다면 다시 한번 볼 수 있는 그런 책이다.
- 각 내용에 문제-해결-논의로 나뉘어 무엇을 할 것인지, 어떤 명령어를 사용할 것인지, 또 그에 대한 설명을 나누어 설명하여 가독성을 높였다.
내용
- 각 챕터에 대한 내용들을 간단하게 요약하였다. (모든 챕터 X)
1. 엔진엑스 기초
- 설치부터, 점검 및 설정 파일, 간단한 서비스에 대해 설명해 주는 챕터
- 각 배포판 별 리눅스별로 다른 설치법에 대해 상세히 설명해 준다.
- 엔진엑스부터 엔진엑스 플러스 설정을 다룬다.
2. 고성능 부하분산
- 오늘날 필요하게 된 높은 성능과 가용성의 인터넷 서비스를 할 수 있는 고성능 부하분산에 대한 챕터
- 부하를 분산하면서 세션을 유지하는 방법을 살펴본다. 즉, 사용자에게 제공하는 애플리케이션의 동적에 문제를 예방하는 방법.
- 또한, 부하분산 대상이 되는 업스트림 애플리케이션 서버의 상태를 모니터링하는 방법에 대해서도 다룬다.
3. 트래픽 관리
- 사용자 요청을 특정 비율로 분기 및 트래픽을 제어하는 방법에 대한 챕터.
- 여러 가지 분기 방법을 조합해 다양하게 트래픽 제어.
- A/B 테스트, GeoIP 모듈 활용부터, 각종 제한 및 차단.
4. 대규모 확장 가능한 콘텐츠 캐싱
- 캐싱은 임시로 저장해 두었다가 빠르게 가져올 수 있는 방법에 대한 해결책이다.
- 캐싱을 통해 성능을 높이고 부하를 낮추는 활용법에 대한 챕터.
- 캐시에 대한 영역, 락, 우회, 성능 분할 등을 다룬다.
6. 인증
- 클라이언트에 대한 인증에 대한 해결책을 제시.
- HTTP 기존 인증부터 JWT, JSON 웹 키를 다룬다.
7. 보안 제어
- 엔진엑스를 활용해 웹 애플리케이션을 보호하는 여러 방법을 살펴본다.
- IP 주소 기반 접근 제어, CORS, 및 여러 측면에 대한 암호화를 다룬다.
8. HTTP/2
- HTTP 프로토콜의 주요 개정판인 HTTP/2를 다룬다.
- 엔진엑스를 활용해 HTTP/2를 활성화하여 사용하는 설정 방법.
- 구글이 오픈소스로 제공하는 오픈 소스 원격 프로시저 호출인 gRPC.
- HTTP/2 서버 푸시 지원을 살펴본다.
10. 클라우드 환경 배포
- 클라우드 사업자 환경에 배포하는 데 필요한 기본 사항을 다룬다.
- AWS, 에저 환경 및 구글 컴퓨트 엔진 등 다양한 환경에 대해 다룬다.
11. 컨테이너와 마이크로서비스
- 현대의 개발에서 필수적으로 필요한 컨테이너를 활용하면 패키지와 의존성 관리를 편리하게 해준다.
- 해당 챕터에서는 엔진엑스로 컨테이너 이미지를 만들고 컨테이너 환경에서 더 잘 동작하게 해주는 기능와 생성한 이미지를 쿠버네티스와 오픈시프트 환경으로 배포하는 방법에 대해 다룬다.
14. 디버깅과 트러블슈팅
- 엔진엑스와 오픈트레이싱으로 개별 요청에 식별자를 부여하고 엔드투엔드로 분석하는 방법에 대해 다룬다.
- 접근 및 오류 로그, 전달, 추적데 대해 상세히 설명한다.
정리
- 이 책은 실무와 아주 밀접하게 닿아 있어 잘 활용할 수 있다면 많은 도움이 될 것이다.
- 앞서 말했듯이 조금 더 지식을 쌓고 필요할 때마다 봐야할 책이라고 생각된다.