NGINX가 세가지 버젼이 있군요

- NGINX

- NGINX Plus Standard

- NGINX Plus Premium

 

알고 계셨나요? 저만 모르고 있었던건가. 물론 Plus버젼부터는 돈이 들어갑니다.

OSS라고는 하지만 저런 서비스를 통해 돈을 벌고 있었던겁니다. 

그럼 Plus버젼에는 있고 걍NGINX에는 없는것들 중 하나인

Advanced load balancing 에 대해서 살표보도록 하겠습니다. 

기본적인 load balancing 에는 다음과 같은 것들이 있죠

"round-robin, least connections, ip_hash"

그 뜻은 대충 아실테니 각각에 대한 설명은 자제하고,

Advanced load balancing 에는 다음의 기능들이 추가 되었다고 하네요.

session persistence, health checks, live status and dynamically-configurable load-balancing pools.

이거에 대해서 하나하나 살표보도록 하겠습니다.

* session persistence : HTTP protocol은 stateless기반이기때문에, 우리는 쿠키와 같이 사용자 정보를 로컬에 저장해놓고 쓰고 있고, 해당 사용자의 모든 요청은 동일한 서버로만 들어가게 되어 있습니다.

 그래서 Load Balanced 환경에서는 Balance가 무너질 가능성이 있습니다. (특정 사용자가 매우 빈번한 요청을 하게되면, 그 사용자의 요청을 처리하는 서버에 Request가 몰릴 수 있기 때문이죠 )

 NGINX Plus에서는 Request에 jvmRoute와 같은 특정 데이타를 통해 User Session을 구분하고 그 사용자가 접속( 사용해야만하는 )했었던 upstream서버(WAS 서버) 정확히 꽂아 넣을수 있다는 것입니다. 

...To Be Continue