모든 구독을 즉시 활성화하는 것이 좋지 않다고 가정하면 정확합니다. 구독을 활성화 할 때마다 서버와 클라이언트 모두에서 성능 저하가 발생합니다. 실적을 극대화하려면 목표는 다음과 같아야합니다.
- 가능한 한 오랫동안 구독을 만듭니다.
- 필요한 데이터 만 게시하십시오.
Meteor.subscribe('news');
Tracker.autorun(function() {
if (Meteor.user()) {
Meteor.subscribe('friends');
Meteor.subscribe('room', Session.get('roomId'));
}
});
- 뉴스 구독이 모든 클라이언트에 대해 활성화됩니다
는 다음의 예를 보라. 일반적으로 이것을 피하기를 원하지만, 모든 사람 (로그인 한 사람)이 뉴스를보아야한다는 요구 사항 일 수 있습니다. 이것은 목표 (2)를 기억할 수있는 좋은 기회입니다. 가장 최근의 뉴스 항목을 모두 대신 게시하는 것을 고려하십시오.
다른 구독은 사용자가 로그인 할 때만 활성화됩니다 (리소스를 저장하고 구독을 지연시킵니다).
friends
구독은 라우터에서 설정할 수있는 roomId
세션 변수를 기반으로 변경됩니다.
많은 경로가있는 복잡한 제작 앱이 있으며 개인적으로 단일 구독 파일을 유지 관리하기가 쉽습니다. 즉, 나는 이것이 맛의 문제라고 생각합니다. 그래서 당신은 두 가지 방법을 시도하고 당신이 가장 편한 것을 볼 필요가 있습니다.
마지막 질문에 대한 답변은 게시 된 문서가 병합된다는 것입니다. 동일한 콜렉션에 대해 두 개의 서브 스크립 션을 활성화하고 각각이 동일한 N 개의 문서를 게시 한 경우, 클라이언트에 N 개의 문서가 있습니다. P1이 N 개의 문서를 게시하고 P2가 M 개의 문서를 게시하면 클라이언트에 M 개의 N 개의 문서가 생성됩니다. 이에 대해서는 meteor book에서 자세히 설명합니다.
아무 유성우 기부금도 충분히 똑똑하지 않습니다. http://docs.meteor.com/#meteor_subscribe – Denis