2012-09-27 3 views
0

예를 들어, http://facebook.com 또는 http://gmail.com에 새 메시지가 표시되면 사이트에서이 사실을 알리는 신호를 보내고 새로 고침 페이지없이이 문제가 발생합니다. 어떻게 작동합니까? 나는 이것을 이렇게 상상한다 :소셜 네트워크, 빌드 방법 "읽지 않은 새 메시지가 있습니다"아키텍처

일부 Jhon은 사이트에 등록 된 사용자이다.

자바 스크립트 코드가 있습니다. 자바 스크립트 코드가 있습니다. 10 초마다 AJAX 요청을 메시지 테이블에 보냅니다. 테이블에서 john에 대한 읽지 않은 메시지가 있거나 없습니다 (아키텍처, 준비되지 않은 메시지 표시 방법, 중요하지 않음). 예 , 사이트 Jhon에게 신호를 "당신은 여러 가지 새로운 메시지가 있습니다".

제발, 사실에 가깝습니까? 그렇다면, 나는 또한 한 가지 질문을한다.

답변

1

현대 사이트에서는 서버가 오버 헤드가 적고 지연없이 브라우저에 정보를 푸시 할 수 있도록 websockets을 사용합니다. 그것이 바로 SO에서 사용되는 것입니다.

그러나 some browsers still don't support them으로, 우리는 때때로 당신이 설명하는 풀 루프로 돌아 가야합니다.

서버에서 각 브라우저 요청시 데이터베이스 쿼리 대신 큐로 처리 될 수 있습니다. 그러나이 시점에는 여러 가지 구현이있을 수 있습니다.