웹 사이트에서 라이브 피드/폴링을 관리하는 것과 관련하여 추상적 인 질문이 있습니다.웹 응용 프로그램에서 "라이브 활동 피드"를 채우기위한 데이터 조합/관리
웹 응용 프로그램 (Java/Spring/Hibernate를 기반으로 작성 됨)을 만들고 사용자의 홈 페이지에서 모든 구성원의 최신 활동에 대한 라이브 피드를 원합니다. 서버 측에서이 쿼리를 처리하는 가장 좋은 방법입니다.
현재 사용자의 팀원 목록을로드 한 다음 각 팀원을 반복하여 최신 대화/파일 업로드/등을로드 한 다음이 모든 활동을 단일 팀으로 병합하는 것입니다 목록을 타임 스탬프별로 정렬하고 반환합니다 (예를 들어 피드에 대한 상위 10 개의 최근 활동 만 반환한다고 가정 해 보겠습니다).
그러나이 작업은 정기적으로 수행해야하므로 (폴링 간격에 따라) 매우 성능이 좋은 것처럼 보입니다.
또한 모든 활동 (대화/상태 업데이트/업로드)을 Activity 클래스로 확장 한 다음 사용자 집합에서 모든 최신 활동을 선택하는 DAO에 직접적인 SQL/JPQL 쿼리 만있는 것으로 고려했습니다. 반환 될 것이지만 DB에 대한 캐싱 및 계속 액세스를 무시할 수도 있으므로 성능이 저하 될 수 있습니다.
이전에 이런 유형의 문제를 처리 한 사람이 있습니까? 좋은 접근 방식이 무엇인지 아는 사람이 있습니까?
감사합니다.
이런 식으로 구현 한 적이 없지만 pubsubhubbub 솔루션이 도움이 될 것으로 생각합니다. http://code.google.com/p/pubsubhubbub/ –
루카스 감사합니다. 꽤 필요한 것처럼 보입니다. 아마도 내 질문을 잘 설명하지 못했을 것입니다. 그러나 Hibernate에서 데이터 모델에 의한 피드를 생성 할 것이고 Hibernate 객체를 규칙적으로 처리하여 피드를 만드는 방법을 찾고 싶습니다. . – rhinds