2011-04-11 6 views
4

글자 그대로 수십만 개의 HTML 및 XML 문서를 구문 분석해야하는 프로젝트가 있습니다.Nokogiri vs Goliath ... 또는 그들은 따라갈 수 있습니까?

나는 Ruby 섬유와 새로운 Goliath 프레임 워크를 배울 수있는 완벽한 기회라고 생각했습니다.

물론 블로킹 라이브러리를 사용하면 골리앗이 넘어지지 않습니다. 그러나 문제는 "thread safe"(골리앗에 대한 올바른 용어조차도)가 무엇인지 말하는 법을 모르겠습니다.

내 질문은 Nokogiri가 골리앗이나 멀티 스레딩/파이버와 관련된 문제를 일반적으로 일으킬 것입니까?

그렇다면 Nokogiri보다 사용하기에 안전한 것이 있습니까?

감사

+0

[Nokogiri-Talk] (http://groups.google.com/group/nokogiri-talk)의 개발자에게 직접 질문하는 것이 좋습니다. –

답변

5

골리앗는 웹 프레임 워크입니다, 그래서 당신은 HTTP를 통해 이러한 문서를 "섭취"를 계획하고 있으리라 믿고있어? 각 요청은 루비 파이버로 매핑되지만 효과적으로 서버는 단일 원자로 스레드에서 실행됩니다.

귀하의 질문에 대답하십시오 : Nokogiri는 내 지식을 최대한으로 활용할 수있는 스레드 안전하지만, 여기서도 중요하지 않습니다. 문서를 파싱하는 동안 CPU가 고정되고 골리앗은 그동안 새로운 요청을 받아들이지 않을 것입니다. 따라서 특정 케이스를 처리하기 위해 올바른 로직을 구현해야합니다 (예 : 소켓에서 도착하는 데이터 청크에서 스트림 구문 분석을 수행하거나 여러 골리앗 서버 간로드 밸런스 또는 둘 다 ... :-))

관련 문제