“한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”
1. Intro
어떻게 NGINX는 Apache를 꺾었는가?
일반적으로 웹서비스를 구축한다고 한다면, NGINX와 Apache가 언급된다. 또한 그 중에서, 조금더 현대적인 어플리케이션을 구현하고, 대용량 트래픽을 받기에는 NGINX가 적합하다고 말한다.
왜 그럴까?를 고민했을때, 답을 주었던 것은 [10분 테코톡] 🤫 피케이의 Nginx 영상이였다.
Apache는 미리 프로세스를 만들어두고, 클라이언트 요청이 들어오면 해당 프로세스를 배정하기 때문에 빠른 응답속도를 보여줄 수 있어 초기에 많이 채택되었다. 클라이언트 요청이 많아지면 할당할 커넥션=프로세스=메모리부족 및 과다한 프로세스로인해 CPU에 부하를 야기한다.
NGINX는 커넥션=프로세스에 대해 비동기적인 처리 방식을 도입하고, 대기열을 사용하여 처리할 수 있는 만큼 할당받아서 처리할 수 있어 대규모 트래픽을 컨트롤하기에 용이하다.
다만 해당 영상은 왜 NGINX를 사용하는지에 대한 설명이였고, 이제 어떻게 NGINX를 구성하고 써야하는지에 대해 궁금증이 생겼었다. 그러한 부분을 해소하기 위해, 이 책을 선택하고 읽었다.
2. 책 구성
이 책은 실제 NGINX가 제공하는 기능들과, 그 기능을 통해 부하 분산, 트래픽 관리, 콘텐츠 캐싱 및 자동화 방법을 설명 한다.
기본 기능 파트 다음에는, 인증 및 보안, HTTP/2, 미디어 스트리밍, 클라우드, 컨테이너, 서비스 메시, 모니터링, 튜닝과 같은 심화적인 기능과 예시들이 소개되어 있다.
3. 인상적인 부분
3.1. 문제 – 해결 – 논의사항의 본문 구성
기능에 대한 공부와, 실제로 기능을 사용하는 공부는 다르다.
공식문서와 같은 도구들에서는, 단순히 어떤 블록에서는 어떤 파라미터가 사용가능한지, 그 파라미터의 의미는 무엇인지를 알려주는 선에서 멈춘다.
나에게는 설명뿐만 아니라, 사용 예시와 추가적인 고려사항이 무엇이 있을까가 필요하다.
이 책은, 조금 더 실무적인 측면에서 어떤 문제상황이 있을지, 어떤식으로 설정을 작성할지, 어떤 식으로 더 활용할 수 있을지를 (한글로!) 가이드 해준다.
3.2. 상용 기능인 NGINX Plus, NGINX Controller에 대한 설명
상업용 버전에서는 추가로 어떤 기능들을 설정할 수 있는가?
NGINX는 기본 Open Source 버전과, 상용 NGINX Plus 버전등이 존재한다. 상용버전은 사용해보지 않았기 때문에, 추가적로 어떤 기능들이 제공되는지가 궁금하였다.
이 책에서는, 엔진엑스 플러스에서 추가적으로 설정 가능 부분에 대하여 (엔진엑스 플러스) 별도 표기가 되어있기 때문에 상용 버전에서 제공되는 기능들과, 사용 방식을 볼 수 있다는 점이 좋았다.
4. Outro
NGINX에 관한 실사용 가이드북
처음 이책을 받았을때 흥미로웠던 부분은 이름 뒤에 Cookbook이 붙어있었다는 점이다.
다른 오라일리 책들은 보통 기술명 / 주제만 적혀있지 장식어구는 많이 붙지않는다. 그래서 왜 요리책이라는 첨언이 붙었을까 고민했었는데-
책을 읽고나니 구성이 요리책들의 레시피같이, 각 기능에 대해 실제 설정 내용을 소개하는 내용들이 많았다. 그래서 쿡북이라는 이름에 걸맞는, 실사용 가이드 북인듯 하다.