2011-08-31 1 views
4

저는 REST를 위해 부두와 저지를 사용하는 고성능 웹 응용 프로그램을 개발 중입니다. CPU로드, 메모리 대역폭 또는 보류중인 연결이 높은 경우 503을 반환하는 가장 좋은 방법을 찾으려고합니다.CPU/메모리 사용량 또는 보류중인 요청에 따라 503 서버를 사용 중으로 반환하는 방법은 무엇입니까?

웹을 둘러보고 나는 어떻게하는지에 대한 많은 지시 사항을 찾지 못했고, 부두에서는 거의 아무것도 찾지 못했습니다.

서블릿에서 프록시, 필터, 코드를 사용하는 방법은 무엇입니까?

답변

2

꽤 많은 OS가 무엇인지에 달려 있습니다. 리눅스에 있다면 CPU/메모리 기반의 503을 추가하는 것이 아주 쉽습니다 -/proc/meminfo와 가동 시간을 사용하여로드를 계산하고 원하는대로 행동하십시오. 보류중인 연결에 대해서는 더 까다 롭고 해결책은 아파치 레벨을 고려해야합니다 (아파치가 주어진 경우).

내 2 센트.

+0

이 레벨을 달성하는 것이 가장 좋은 레벨 (스크립트/필터/코드)은 무엇입니까? 서버가 바쁠 경우 아마도 503을 반환하는 코드를 얻을 수 없을 것입니다. – mbdev

+0

로드가 높으면 올바른 클러스터를 설정하는 것이 좋습니다. 그 다음 밸런서는 노드 다음을 지켜 볼 것입니다. 요청을 처리 할 노드가없는 경우 적절한 메시지로 다시 반송 할 수 있습니다. 또한, 당신은 nginx를 고려할 수도 있습니다 - 그것은 높은 부하 상황을 처리하는 좋은 간단 방법이 있습니다. – jancha

관련 문제