본문 바로가기

Backend4

Bean Scope(어떤 메커니즘?, 왜 쓰는건지, 주의점, 어떻게 생성되는지) https://docs.spring.io/spring-framework/reference/core/beans/factory-scopes.html배경김영한님 강의 코어 어쩌고 듣다가 섹션9쪽의 스코프에 대해 공부하다가 익숙하지 않은 내용이라 한번 정리를 해보았다.Bean Scope 는 무엇인가?빈이 존재 할 수 있는 범위이다. 생애 기간(생성~소멸) + 공간(쓰레드, 요청, 세션)Bean Scope 는 왜 사용되는가?크게 2가지 이유때문이다. 하나는 메모리의 최적 사용을 위해서이다. 한정적인 메모리에서 재사용이 많이 되는 경우 싱글턴으로 빈을 관리해 메모리 낭비를 줄인다. 두번째는 새로운 빈 생성의 필요성 때문이다. 기능의 특성상 새로운 빈을 매번 사용해야 하는 경우가 있다. 예를들면 http 요청별 한정.. 2024. 9. 30.
Web Server, WSGI, Web Application Server Web Server ex) nginx, apache 외부 request(HTTP) 요청에 대한 응답으로 정적 웹 콘텐츠(예: HTML 페이지, 파일, 이미지, 동영상)를 제공 WSGI 일종의 web server. Web Application과 연결을 해준다. 자원을 관리하여 트래픽 발생시 적절하게 Web Application에 작업을 할당할 수 있다. Web Application (Server) : WAS 동적 웹 콘텐츠 를 생성하고 제공. 상호작용을 통해 트랜잭션 결과, 의사결정 지원 또는 실시간 분석 등의 동적 콘텐츠를 생성하고 이를 제공. 이 때 Server 기능도 함께 하면 Web Application Server가 된다. → django, flask 2022. 3. 12.
Gunicorn (공식링크) WSGI 종류중 1개. 리눅스 기반 가장 많이 쓰이는 (Gateway Interface)서버. request traffic을 해결하기 위해 자원을 분배하여 (fork 된)Web Application 들에 할당 할 수 있다. 동기적 # 장고에서 실행 $project gunicorn -option wsgi가 있는 앱:application $project gunicorn -w 4 Projectapp.wsgi:application # worker 4개동작 [2022-03-08 17:11:49 +0900] [70205] [INFO] Starting gunicorn 20.1.0 [2022-03-08 17:11:49 +0900] [70205] [INFO] Listening at: (70205) [2022.. 2022. 3. 12.
asgi vs wsgi CGI(Common Gateway Interface)는 외부의 애플리케이션과 웹서버와 연결을 할 때 사용하는 인터페이스다. 과거에는 정적파일(HTML)을 다운로드 하는게 거의 주였기 때문에 CGI같은 중계기가 필요 없었다. 하지만 웹으로 채팅, 거래, 업무공유등 Interaction이 많은 일들이 수행되면서 외부 애플리케이션을 호출이 필요하게 돼 CGI 같은 중계기가 생겨나게됨. Java 진영에서는 Tomcat(Web Server + FastCGI) WAS를 사용한다. 반면 Python 진영에서는 이러한 WAS가 존재 하지 않아 WAS형태를 만들어 사용해야 한다. Python 에서 교통정리를 해줄 Gateway Interface 는 크게 2종류가 있다. WSGI, ASGI WSGI (Web Server .. 2022. 3. 12.