我打算在Sitecore媒體庫頂部使用Azure CDN,據我瞭解,Azure CDN不支持延遲加載,唯一簡單的方法是在Sitecore Azure CDN連接器中描述的根目錄(基本上在發佈事件中創建MediaLibrary文件夾結構和文件) 我可以看到它的問題是在Sitecore中調整大小的圖像,您可以動態調整大小調整URL中的高度和寬度的項目,但我不知道如何從CDN的角度來處理這個問題。 很高興知道您的意見並解決此限制。 StelioSitecore媒體庫和Azure CDN
回答
如果您正在使用Azure的PaaS和利用WebRoles的(例如使用Sitecore的Azure的時候爲模塊),那麼您應該能夠更輕鬆地將雲服務與Azure CDN集成。
我不確定您的計劃與Azure集成的具體情況,但不是擔心任何Sitecore處理程序並將文件推送到Azure,我建議您配置CDN端點,然後將所有媒體請求重定向到/cdn
文件夾。這將導致Azure緩存動態內容,同時考慮到任何url參數(如調整大小)。如果內容未被緩存,則應從Sitecore中檢索請求,然後針對將來的任何請求進行緩存,像邊緣緩存服務器一樣工作。
利用的最簡單的方法是設置介質前綴鏈接:
<setting name="Media.MediaLinkPrefix" value="cdn/media" />
然後你就可以使用URLRewrite Module的映射cdn/media
回到~/media
。或者只是在Sitecore中添加處理程序:
<customHandlers>
<handler patch:before="*[@trigger='~/media/']" trigger="cdn/media/" handler="sitecore_media.ashx" />
</customHandlers>
<mediaLibrary>
<mediaPrefixes>
<prefix value="cdn/media"/>
<prefix value="~/media"/>
</mediaPrefixes>
</mediaLibrary>
您不妨在CD環境中執行此操作。另外,你也可以利用這個來獲得你的靜態圖像。你需要確保它們的前綴都是/cdn
,但是如果該文件夾是/cdn/images
,那麼你可以使用不同的URL重寫規則將其映射回/images
。
一些額外的信息:
- Using the Windows Azure Content Delivery Network (CDN) - 讀部分
Using cloud services with the CDN
起 - Publish Content to the Azure CDN with URLRewrite
- Integrate a cloud service with Azure CDN
不幸的是我沒有訪問到Azure的實例,這樣無法檢驗這個。
好吧,也許不是你的情況的解決方案,但我會去另一個CDN。 Azure CDN中的這一限制只會對解決方案造成太大的限制。正如你所描述的,你應該真的在Sitecore中使用resize函數,以保持良好的架構和可維護的代碼。
其他人也面臨同樣的問題,去了其他CDN選項,如Akamai和AWS CloudFront的:http://feedback.azure.com/forums/169397-cdn/suggestions/3046714-custom-origin-support-to-cdn
我在短期內考慮的唯一選擇是將Azure CDN用於靜態圖像,並使用帶有CDN的媒體庫處理調整大小的圖像,並要求設計團隊在上傳前調整圖像大小以避免性能問題... – Stelio 2015-03-04 11:32:59
- 1. Microsoft Azure cdn vs媒體流服務
- 2. 如何自定義Sitecore媒體庫
- 3. Sitecore媒體庫上傳錯誤
- 4. 從sitecore媒體庫下載項目
- 5. 打開Sitecore媒體庫時獲取404
- 6. Azure媒體服務
- 7. 使用Sitecore項目Web API將Json文件項目上載到sitecore媒體庫
- 8. Azure blob存儲和CDN
- 9. Sitecore內部鏈接到媒體文件?
- 10. Sitecore媒體文件自動發佈
- 11. Sitecore的媒體項目錯誤
- 12. Sitecore:如何通過URL獲取媒體庫項目?
- 13. 將大文件上傳到sitecore媒體庫
- 14. 在Sitecore中獲取媒體庫項目的內容
- 15. 以asp.net按鈕編程打開sitecore媒體庫點擊
- 16. 打開Sitecore的媒體庫編程發出
- 17. Sitecore:從url中保存媒體庫中的圖像
- 18. 用azure託管silverlight媒體
- 19. Akamai CDN與Sitecore的集成
- 20. 啓用CDN時無法使用Azure媒體服務流式傳輸內容
- 21. 帶有CDN和管理媒體的Django MEDIA_URL
- 22. Azure CDN網站
- 23. Azure CDN WebApp 404
- 24. 如何獲取sitecore中的所有媒體項目?
- 25. Azure網站的Azure CDN
- 26. 將Sitecore 8.0媒體文件保存並刪除到Azure雲存儲
- 27. Sitecore自動發佈媒體和文件夾
- 28. 針對所有平臺的Azure媒體編碼和加密媒體播放器
- 29. 從「Azure媒體服務」更新爲「媒體編碼器標準」
- 30. Sitecore如何獲得媒體項目的媒體領域內的價值
嗨Kam,其實你是對的,現在你可以配置CDN指向/ CDN文件夾,並在CD和媒體上使用重寫規則。MediaLinkServerUrl這是一個簡單的生活......唯一的問題可能是更新中間庫項目並使cdn上的緩存版本無效,我想簡單的選擇應該是對媒體項目進行一些查詢操作或者只是重命名它...... – Stelio 2015-03-05 10:33:07
是 - '「計算機科學中只有兩件難事:緩存失效和命名事項」:)您可以將媒體項目的修改日期附加爲查詢字符串參數,只需覆蓋MediaManager始終包含此項即可。 – jammykam 2015-03-05 11:17:11