현재 이미지 목록을 보여주는 Ruby on Rails 프로젝트를 진행 중입니다.
이 프로젝트의 필수 요소는 웹 페이지를 새로 고칠 필요없이 실시간으로 새 게시물을 표시한다는 것입니다. 잠시 동안 검색 한 후 PubNub와 같은 일부 JavaScript 솔루션 및 서비스를 발견했습니다. 그러나 제공된 솔루션 중 어느 것도 전혀 의미가 없습니다.
JavaScript 솔루션 ( polling )에서 다음이 발생합니다.
- 사용자 1은 사진 목록을 봅니다.
- 백그라운드에서 JavaScript 코드는 매초마다 엔드 포인트를 폴링하여 새 게시물이 있는지 확인합니다.
- 사용자 2가 새 사진을 추가합니다.
- 새 사이클이 트리거되고 새 데이터를 가져 오기 전에 50ms의 지연이 있습니다.
- 새 컨텐츠가 DOM에 로드됩니다 .
실제 예제로 변환하면 이상하게 보입니다.
- 사용자 1은 자신의 책상에 사진 더미를 보관합니다.
- 매 초마다 사진 작가에게 걸어가 새로운 사진이 있는지 묻습니다.
- 사진사가 새로운 사진을 만듭니다.
- 두 번째로 들어 오면 사진을 찍어 더미에 넣을 수 있습니다.
내 생각에 해결책은 다음과 같아야합니다.
- 사용자 1은 자신의 책상에 사진 더미를 보관합니다.
- 사진사가 새로운 사진을 찍습니다.
- 사진가는 더미로 걸어가 나머지와 함께 넣습니다.
PubNub 솔루션은 기본적으로 동일하지만 이번에는 데이터를 공유하기 위해 당사자간에 인턴이 있습니다.
말할 것도없이, 두 솔루션 모두로드 할 데이터가없는 경우에도 트리거되므로 매우 에너지 소모가 많습니다.
내가 아는 한이 구현 방식이 거의 모든 실시간 애플리케이션에 사용되는 이유에 대한 논리적 인 설명은 없습니다.