[gunicorn] gunicorn이란? 왜 필요할까?

ggydo59·2023년 3월 28일
1
post-thumbnail

💡 Django, Flask 등등의 파이썬 웹프레임워크랑 같이 사용되는 기술입니다. 정확히 어떤역할을 하고 왜 사용을 하는지 알아봅니다.

Gunicorn

Gunicorn(Green Unicorn)Python Web Server Gateway Interface(WSGI) HTTP서버입니다. Python 웹 어플리케이션의 높은 트래픽을 쉽게 처리할 수 있는 가볍고 안정적인 서버입니다.

WSGI(WebSever Gateway Interface)

파이썬 애플리케이션이 웹서버와 통신하기 위한 인터페이스로 웹서버의 요청을 해석을 해서 파이썬애플리케이션에게 전달해줍니다. 대표적으로 gunicorn과 uWSGI가 있습니다.

Why use it?

Django나 Flask의 개발환경의 웹서버는 보안적으로나, 성능적으로 검증되지 않아서 배포환경에서는 적합하지 않다는 이유가 있습니다. 그래서 파이썬 스크립트, 어플리케이션들을 gunicorn으로 실행하고 이것을 웹서버와 연결하는 방식으로 배포를 많이 합니다. 또한 worker를 통해 멀티 스레드를 구현할 수 있어서 Request 요청이 많아지더라도 효율적으로 처리할 수 있습니다.

정리하면 다음과 같습니다.

  1. 가볍고 성능, 보안적으로 우수함.
  2. Worker를 설정함으로써 멀티스레드를 구현, Request를 효율적으로 처리
  3. guincorn이 uWSGI보다 조금 더 좋고 가벼워서 많이 사용

참고

profile
데이터엔지니어입니다.

0개의 댓글