공개 : 나는 페이의 저자입니다.
- 페이 (Faye)에 관해서는 당신이 말한 모든 것이 사실입니다.
- 페이 (Faye)는 바 이유 (Bayeux)의 대부분을 구현합니다. 현재 누락 된 유일한 서비스 채널은 아직 유용성을 확신하지 못했습니다. 특히 Faye는 다음과 관련하여 큰 영향을 미치는 Bayeux의 CometD 참조 구현과 호환되도록 설계되었습니다.
- 개념적으로, 예 : 페이 수 사용 Socket.IO. 실제로,이 몇 가지 장벽이 있습니다
- 나는 아무 생각도 없어 서버 측 지원 소켓의 종류.IO가 필요하며 Faye 클라이언트 (Node와 Ruby의 서버 측 클라이언트가 있음을 기억하십시오)가 Bayeux 서버 (그리고 모든 Bayeux 클라이언트의 Faye 서버)와 통신 할 수 있어야한다는 요구 사항이 충족 될 수 있습니다.
- Bayeux는 서버와 클라이언트가 특정 전송 유형을 지원한다는 특정 요구 사항을 갖고 있으며 어느 전송 유형을 사용할 것인지 협상하는 방법을 말합니다. 또한 XHR 요청의 Content-Type이 콘텐츠의 해석 방법에 어떻게 영향을 미치는지와 같은 사용법을 지정합니다.
- 일부 오류 처리 유형의 경우 전송에 직접 액세스해야합니다 (예 : resending messages when a client reconnects after a Node WebSocket dies).
- 이 문제가 발생하면 수정하십시오. 이는 Socket.IO 문서의 간단한 스캔을 기반으로합니다.
- 페이 그냥 단지 약간 더 복잡한 프로토콜을 기반으로,/하위 펍과 내장 미묘한를 많이 가지고있다 :
- 서버 - 클라이언트 측 확장
- 와일드 카드 패턴 일치를 채널 경로에서
- 자동 재 연결 WebSocket을 죽을 또는 서버가 오프라인 상태가 될 때
- 클라이언트는 전화에, 모든 브라우저에서 작동하고, 서버 측
이
페이 아마 훨씬 더 복잡한 저거넛에 비해 보이는 노드에 루비 저거넛 때문에 더 많은 대표자들, 예. 전송 협상을 Socket.IO에 위임하고 메시지 라우팅을 Redis에 위임합니다. 이것들은 괜찮은 결정이지만, Bayeux를 사용하기로 결정한 것은 스스로 더 많은 일을해야한다는 것을 의미합니다.
디자인 철학에 대한 페이의 최우선 목표는 웹을 사용할 수있는 모든 곳에서 작동해야하며 갈 수 있어야한다는 것입니다. 정말 쉽지만 확장 성은 매우 강력한 방식으로 사용자 정의 할 수 있다는 것을 의미합니다. 예를 들어 인증 확장을 추가하여 서버 간 푸시 서비스로 전환 할 수 있습니다 (즉, 임의의 클라이언트가 푸시 중지 할 수 있음) .
또한 서버 측에서보다 유연하게 작업하기위한 작업이 진행 중입니다. 클러스터링 지원을 추가하고 코어 pub-sub 엔진을 플러그 형으로 만들어 Faye를 Redis 또는 AMQP와 같은 다른 pub-sub 시스템에 사용할 수있는 stateless 웹 프론트 엔드로 사용할 수 있도록합니다.
도움이 되셨기를 바랍니다.
경우에 따라 저거넛이 사용 중지되었습니다. http://blog.alexmaccaw.com/killing-a-library 이유를 읽어보십시오. – Maziyar
HTML 5 Server-Sent 이벤트는 Juggernaut 작성자 – Harindaka