엔진엑스
엔진엑스(Nginx)는 러시아의 이고르 시셰프(Игорь Сысоев, 영어: Igor Sysoev)가 개발한 무료 오픈소스 웹서버 소프트웨어이다. 가벼움과 높은 성능을 목표로 하고 웹서버, 리버스프록시 및 메일프록시 기능을 가지고 있다. 2011년 엔진엑스 회사를 설립하여 유료 기술지원을 하고 있다.
개요
- 엔진은 게임에서도 중요한 분야이다. 소프트웨어의 구성에 필요한 기능들을 재사용하게 해서 단가도 줄이고 제 일정에 복잡한 게임을 출시할 수 있게 해준다.
- 유연하고 재사용이 가능한 소프트웨어, 게임 미들웨어라고도 불린다.
- 건축시각화,그래픽 등의 다양한 분야에서도 사용된다.
역사
- 2002년 : 인터넷 발전으로 인해서 더 많은 요청을 처리하는 웹서버에 관심이 많아지게 되었고, 이고르 시셰프가 아파치 HTTPD를 코딩하다 c10k problem이 등장하였다.
- 2004년 : 이고르 시셰프와 그가 설립한 회사인 엔진엑스(nginx.Inc.)가 오픈소스 웹서버 프로그램 프로젝트를 운영 중에 있다. 목표는 가벼우면서도 강력한 프로그램을 제작하는 것이다. 다수의 요청을 처리하기 위해선 더 나은 네트워크 I/O 와 스레드 기술이 강화될 필요가 있었다.
- 2009년 : F5에 6억 7천만 달러(한화로 약 7,500억원)에 인수되었다.
특징
- 기존의 [[아파치] 웹서버는 하나의 쓰레드에서 하나의 클라이언트를 처리해서 정보를 읽고 쓰고 가공하는데 걸리는 지연시간이 있고 쓰레드 생성 속도도 느리다.
- 엔진엑스는 이벤트 지향 아키텍처(Event-driven Architecture) 방식으로 메모리 생성 속도가 빠르고 더 작은 쓰레드로 훨씬 많은 클라이언트를 처리한다.
- 환경 설정을 바꾸고 나서 서버 데몬을 재시작할 필요 없이 리로드(reload) 시그널을 보내면 된다. 즉, 프로세스를 재시작할 필요가 없다는 장점이 있다.
- 아파치 웹서버가 제공하는 모든 기능을 제공한다. ('트래픽 부하 균형'(load balancing), TLS/SSL 보안, 메일프록시)
- 소켓(socket) 인터페이스처럼 결과를 리턴하는 것이 아니라 블로킹(blocking)하는 Non blocking event driven 네트워크 통신방식으로 동작한다.[1]
활용
전망
엔진엑스의 성능도 좋아서 추후에 큰 대규모 트래픽을 처리하는 웹 서비스의 경우엔 많이 사용될 것이다.
각주
- ↑ a broken piece of glass and IT space, 〈NGINX 소개와 사용 현황〉, 《네이버 블로그》, 2012-05-25
- ↑ 기억보단 기록을, 〈웹 서비스 출시하기 - 7. Nginx를 활용한 무중단 배포 구축하기〉,《티스토리》 , 2018-02-02
참고자료
- 기억보단 기록을, 〈웹 서비스 출시하기 - 7. Nginx를 활용한 무중단 배포 구축하기〉, 《티스토리》 , 2018-02-02
같이 보기