2013-10-16 4 views
1

질문이 있습니다. Facebook은 아마도 ajax를 사용하여 사용자에게 새 메시지를 알립니다. 맞습니까? 예인 경우,이 세금 데이터베이스를 놀라운 수준으로하지 않습니까? 온라인 상태에서 매 초마다 수백만 명의 사용자가 메시지 상태를 요청합니다. 아니면 잘못된 생각으로 생각하고 있습니까?ajax 기반 알림/메시징 시스템

답변

0

이라는 기술을 묻는 메시지는입니다. 그리고 확장 성 문제가 있다는 것이 맞습니다. 일반적으로 좋은 생각은 아닙니다.

[rant] 페이스 북에서 무슨 일을하는지 잘 모르겠다. 나는 페이스 북이 싫다. 그것은 당신을 문자 메시지로 보내거나 이메일을 보내는 것을 멈추지 않고 취할 필요가있는 취한 창녀와 같습니다. [/ rant].

폴링에 대한 더 나은 대안이 있습니다. 한 기술은 긴 폴링, 다음 서버 쪽 밀어있습니다.

How do I implement basic "Long Polling"?https://stackoverflow.com/questions/6883540/http-server-to-client-push-technologies-standards-libraries 참조하십시오.

긴 폴링에서 클라이언트는 요청을 보내지 만 즉시 응답을 기대하지는 않습니다. 응답은 즉시, 1 초 또는 1 시간 안에 올 수 있습니다. 문제는 서버가 자원이 집중적이지 않은 방식으로 미해결 요청을 관리하는 것입니다.

서버 측 푸시를 사용하면 서버는 클라이언트와의 연결을 유지하고 이벤트가 발생할 때 연결에 메시지를 브로드 캐스팅 할 수 있습니다.

어떤 대안을 사용할지는 기술 스택의 비트에 따라 다릅니다. 예를 들어, node.js에는 socket.io (html5 웹 소켓을 사용하는 서버 측 푸시라고 생각되는)라는 항목이 있습니다.