2014-03-27 92 views
2

好的,所以我對Meteor和整體編程都很陌生,我有一個簡單的最佳實踐類型的問題。我應該什麼時候訂閱流星收藏?

我正在使用鐵路路由器,並一直使用它來訂閱不同的路徑。我試圖儘可能精簡,只訂閱我需要使用waitOn()的集合。但是今天下午做了一些閱讀後,似乎可能是過度的。

什麼時候應該訂閱集合的最佳做法是什麼?

我的猜測是,如果你有一個集合,你在多個頁面上加載整個集合的開始。然後只通過鐵路路由器的waitOn裝載你只需要的東西。另外,測試開始時加載集合是否導致加載時間問題的最佳方法是什麼?

我知道這不是一個全面的答案,每個項目都不同,但任何建議,將不勝感激。

感謝

回答

2

有這個沒有唯一的答案,因爲這既取決於你在認購和你願意啓動和不斷變化的路由時,當容忍延遲的數據量。

waitOn是一個強大的工具,但它也是完全合理的激活全球訂閱。重要的是要注意,鐵路由器通常在路由改變時啓動和停止訂閱。我可以想象一個場景,根據請求的路線,您將不斷啓動和停止特定訂閱。通過在路由器外啓動預訂,可以避免延遲,但這會爲啓動延遲交換路由延遲。

您需要試驗一下,看看這些東西如何影響您的應用程序性能,以確定最佳選擇。我會告誡你的是,因爲訂閱數據的大小是延遲的一個重要因素,所以你可能會發現當你從開發轉移到生產時你的結果會發生變化。

我對測量加載時間的唯一建議是使用APM。我還沒有嘗試過,但我聽說它可以幫助我們深入瞭解性能。

+0

感謝您的反饋意見。這幾乎正​​是我需要聽到的。很多程序設計似乎都在一個非常穩固的「有時」的答案中,但至少我明白爲什麼它是「有時」的。 – yankeyhotel

+0

你確定如果兩頁使用相同的訂閱(複製),當你在兩頁之間時,數據被重新讀取嗎?我不認爲這是如果你直接在他們之間。還有一些工作正在進行中,即當您轉到另一個頁面時不立即停止訂閱,而是讓他們在額外的時間內保持活躍狀態​​,以防用戶返回同一頁面。 –

+0

在IR 0.7上,當我使用相同的'waitOn'在兩條路由之間切換時,我看到每個轉換都會調用相應的發佈函數。我懷疑當'sub-manager'分支被合併時這可能會被優化。 –