2011-10-02 3 views
0

요즘 NodeJS는 논 블로킹 방식의 비동기 방식으로 모든 것을 처리하므로 요즘 화제가되고 있습니다. 이 때문에 여러 클라이언트의 요청을 동시에 처리하는 일종의 서버가되는 데 매우 적합합니다. 그래서 내 질문은 기술적 인 관점에서 프로덕션 용도로 범용 레일 애플리케이션 및 웹 서버를 작성하는 것이 합리적인지 여부입니다. 분명히하기 위해, 그것은 (예를 들면) Apache와 Phusion Passenger를 대신 할 것입니다. 이 설정은 이론적으로 요청을 처리하고 응답하는 속도가 빠르지 않습니까?NodeJS에서 Rails 용 웹 서버/앱 서버를 만드는 것이 합당한가요?

+2

"비 차단/비동기"는 자동으로 "빠름"을 의미하지 않습니다. –

+2

@Matt : (이단이 될 위험에 처해있는) 과장된 말을 해 주셔서 감사합니다. –

+0

@mu'* shrug *'을 자바 녀석으로 생각하면 다음과 같습니다. http://news.ycombinator.com/item?id=1551776 –

답변

2

Nginx, Lighttpd 또는 Mongrel2을 이벤트 기반으로 사용할 수 있으며 여전히 Ruby on Rails를 유지할 수 있습니다. 내가 아는 한 세 가지 모두 이벤트 I/O를 사용하고 각각의 새로운 연결에서 스레드 또는 포크를 빌드하고 찢어 버리지 않습니다. 이렇게하면 Ruby on Rails를 유지할 수 있습니다. 어떤 AJAX에서 양방향 통신이 필요하다면, Node.JS Socket.IO 서버를 넣는 것이 좋습니다.

0

아파치는 동시 연결을 처리 할 때 매우 비효율적입니다. 대용량 트래픽 시나리오가있는 경우 노드는 연결을 처리 할 때 Apache보다 더 나은 작업을 수행해야합니다. 그러나 노드 자체는 단순한 http 서버 이상의 것입니다. 웹 응용 프로그램을 빌드하기 위해 Rails와 달리 새로운 MVC 프레임 워크를 작성할 수 있습니다. Apache/Phusion Passenger를 대체 할 노드에 http 서버를 작성하는 것은 현명한 방법이 아닙니다. 노드는 아직 젊지 만 아직 버전 1.0을 릴리스하지 않았습니다.

관련 문제