현재 성능에 우선 순위를두고 비동기 REST API를 작업 중입니다.uWSGI 및 영구 네트워크 소켓 연결
처음에는 Node.js를 유스 케이스에 맞게 적절하게 적용 할 수있는 이벤트 중심 아키텍처로 배포하려고했지만 안타깝게도 JavaScript는 아직 SCTP 소켓을 지원하지 않습니다.
이 파이썬으로 우리를 인도하고 몇 가지 고려 후, 우리는 uWSGI & gevent로 이동하기로 결정했다.
그러나, 아키텍처의 특성으로 상당한 오버 헤드 두 개의 영역이 있습니다. 캐시 메모리에 데이터의 문제를 해결하기 위해서
, 우리는 잘 작동해야 uWSGI 캐싱 프레임 워크를 사용한다.
두 번째 문제는 응용 프로그램이 SCTP를 통해 백 엔드 처리기에 연결한다는 것입니다. 현재 설정으로이 연결이 설정되고 모든 요청에 대해 닫힙니다. 초당 수천 건의 요청으로 인해 큰 오버 헤드가 발생합니다. 이상적인 경우
, 우리는 영구적으로 소켓 연결을 설정하고 각 요청에 대해 그것을 다시 계속 사용하고 싶습니다. PHP에서는 영구 소켓 연결을 사용할 수 있습니다. 파이썬/uWSGI도 비슷한 기능을 제공합니까? 또는 uWSGI 대기열 프레임 워크와 프로세스 요청을 묶어 사용할 수도 있습니다.어떤 조언을 환영합니다. 당신이 uWSGI 순수하게되었다 gevent 모드를 사용하도록 설정하면
'gevent'가 이벤트 구동 형이 아니라는 것은 무엇을 의미합니까? :) 디자인에서 엔티티의 순서를 다시 명확히 할 수 있습니까? 인터넷과 같은 것 ->로드 밸런서 -> uWSIG/gevent/Python 어플리케이션 -> ??? –
나는 완전히 지체 된 작은 세부 사항을 토대로 gevent에 대해 심각하게 잘못된 개념을 가지고있었습니다. 나는 그것이 지금 모든 것을 이해했다고 생각한다. 그것은 참으로 클라이언트 ->로드 밸런서 -> uwsgi/gevent입니다. – awishformore