1. 程式人生 > >阿里雲CDN+OSS完成圖片加速

阿里雲CDN+OSS完成圖片加速

我們使用React Native開發APP,在列表中顯示圖片時,列表框經常出現長時間的空白。經過稍微研究和參考其他人的經驗,我們知道React Native的ListView以及後來改進版的FlatList在安卓系統上都有記憶體使用方面的問題,很多團隊在開發時都需要自己去優化這個控制元件,大體優化思路無非也就是將滾出顯示區域外的圖片佔用的記憶體釋放掉,具體實現起來會複雜一些。

以上主要是背景介紹,不過有點跑題。那我們在優化之後,仍然還是有些問題,這和網路狀況也有關係,網速慢的時候圖片載入的時間比較長,會出現卡頓和渲染完成前的空白現象。我們圖片全部儲存在阿里雲OSS服務中,資料庫中只儲存圖片連結,那圖片的載入速度問題,可以使用阿里雲CDN來協助解決。

CDN+OSS能解決圖片加速的問題,那具體是怎樣配置的呢?這裡我們先把兩個名詞瞭解清楚,有些名詞因為向來沒有被很好地解釋,導致使用者對概念理解不正確,從而對加速的流程理解有錯誤,即使按照文件提示可以配置了,也無法正確理解為什麼要那樣去配置。

加速域名

比如我的網站域名是www.mydomain.com,CDN是用來加速這個網站的圖片,那麼有人就以為加速域名是:www.mydomain.com,即把加速域名理解為被加速的網站的域名。而實際上,我們應該新增一個二級域名來作為加速域名,加速域名的意思是,你訪問這個域名的時候,所訪問的資源是通過CDN來加速了的,需要注意的是,在這裡,加速域名不是:www.mydomain.com。

源站域名

對於我們這個場景來說,源站域名就是OSS的域名。如果我們通過OSS域名來訪問圖片資源,那麼就直接從OSS伺服器獲取圖片,而如果從加速域名訪問圖片,則先試圖從CDN伺服器獲取圖片資源,如果CDN伺服器沒有快取圖片資源,則CDN伺服器會自動去源站OSS伺服器獲取圖片資源並快取在CDN伺服器上。

配置及原理

具體來說,比如我要在網站某個頁面上顯示一張圖片,這張圖片是放OSS中的,地址為:https://mydomain.com-oss.aliyun.com/test.jpg。現在我想使用CDN來加速這張圖片,那麼我需要在網站頁面程式碼裡面修改圖片的地址為加速域名的地址。我先在阿里雲的域名管理中選擇域名:mydomain.com,然後給它新增一個二級域名,暫且就叫cdn.mydomain.com吧,之後在阿里雲CDN控制檯的域名管理介面上,新增一個加速域名,就是這個:cdn.mydomain.com,源站域名就設定為:https://mydomain.com-oss.aliyun.com。阿里雲CDN會給這個加速域名分配一個CNAME,比如:cdn.mydomain.com.kunlunar.com,然後你在mydomain.com的域名解析那裡,給二級域名:cdn.mydomain.com新增一個CNAME型別的解析,值為:cdn.mydomain.com.kunlunar.com。

現在就可以改下你網站介面裡面的程式碼了,比如原來有程式碼如下:

<img src=”https://mydomain.com-oss.aliyun.com/test.jpg” />

就需要改成:

<img src=”https://cdn.mydomain.com/test.jpg” />

這樣,當用戶瀏覽你的網站:www.mydomain.com,訪問到我們原來要加速的那張圖片時,就訪問了:https://cdn.mydomain.com/test.jpg,因為我們已經給二級域名cdn.mydomain.com添加了一個CNAME解析,這時候DNS會把這個二級域名解析到CNAME的值,也就是前面提到的阿里雲給我們的CNAME值:cdn.mydomain.com.kunlunar.com,這個值再經過解析得到的是阿里雲智慧DNS服務的IP,於是域名解析流程轉到了阿里雲的智慧DNS。這個智慧DNS根據使用者訪問的源IP地址,可以知道使用者離哪個CDN機房比較近,然後將那個CDN機房伺服器的IP返回給使用者,假設為:111.222.33.44。

使用者得到這個IP:111.222.33.44後,就近地去獲取圖片了。當用戶第一次訪問CDN機房伺服器時,找不到要訪問的圖片,這時候CDN伺服器就會去訪問源站,也就是從OSS中獲取要訪問的圖片https://mydomain.com-oss.aliyun.com/test.jpg,並快取到CDN伺服器上,再將圖片內容返回給使用者。下一次如果有和該使用者位於同一區域的使用者訪問該圖片,則會走一樣的流程,只是這時候,CDN伺服器上已經快取好圖片,不需要再次去OSS中獲取原始圖片了。而CDN伺服器相比於OSS儲存伺服器,一般來說離使用者更近一些,這樣就達到了加速訪問的效果。阿里雲CDN+OSS組合使用時,還提供了自動重新整理功能,開啟這個功能後,當OSS中的原始圖片資訊改變時,會通知CDN伺服器重新拉取並快取,這樣就降低了訪問CDN伺服器獲取資源時快取未命中的機率。

 

原文發表於:阿里雲CDN+OSS完成圖片加速

歡迎關注微信公眾號:

相關推薦

阿里CDN+OSS完成圖片加速

我們使用React Native開發APP,在列表中顯示圖片時,列表框經常出現長時間的空白。經過稍微研究和參考其他人的經驗,我們知道React Native的ListView以及後來改進版的FlatList在安卓系統上都有記憶體使用方面的問題,很多團隊在開發時都需要自己去優化這個控制元件,大體優化思路無非也就

阿里CDN加速設定

  步驟一:開通CDN服務 單擊立即開通,使用本人賬號登入並開通CDN。 在購買頁面選擇適合的計費方式,確認訂單,CDN服務即開通。 步驟二:新增加速域名 登入CDN控制檯,在左側導航欄單擊域名管理。 在域名配置頁,單擊新增域名。 配置加速域

微信小程式圖片/視訊直傳阿里伺服器OSS

阿里雲官方文件:第一步(需要由後臺提供介面,前端獲取一些必要引數) oss: function(token) { var _this = this; wx.requ

根據阿里OSS服務上傳圖片以及檔案

/** * 阿里雲oss檔案上傳工具類 * Created by gz on 2017/10/25. * qq:1293443962 */ public class OssUtil { private static Logger logger = Logge

阿里CDN HTTPS安全加速解決方案發布,價格下調50%

日前,阿里雲CDN產品HTTPS安全加速解決方案正式釋出,請求數計費官方價格下調50%,後付費價格為0.05元/萬次HTTPS請求,並且新增了1億、10億、100億規格的預付費請求包,分別售價為450、4000、35000元,再次釋放技術紅利普惠廣大使用者。 據瞭解,阿

2018雙十一阿里CDN流量包低至72元/年

2018年雙十一阿里雲產品優惠活動已經上線了,很多雲產品的價格都非常勁爆,除了我們常用的雲伺服器ECS之外,還有CDN流量包。 本次參與阿里雲雙十一活動的CDN流量包有2款。10T版和1T版,對於有需求的是個不錯的選擇,都不貴。 廢話不多說了,購買流程: 1、加入拼團(活動規則是加入已滿6人團,才能享受

阿里OSS雲端儲存 上傳檔案

第一次使用阿里雲的雲端儲存,mark一下 1.首先,你需要申請購買到AccessKey 和 AccessKeySecret。 因許可權問題,建議開通單獨的RAM帳號 在雲服務中開啟新建一個bucket空間,用於儲存上傳的檔案儲存位置 2.編碼工作開始: 1)maven中引入ja

護航Lazada雙11購物節 阿里CDN全球化火力全開

摘要: Lazada是東南亞最大B2C平臺,業務範圍覆蓋印度尼西亞、馬來西亞、菲律賓、新加坡、泰國和越南六個東南亞國家,覆蓋大約6億消費者。在雙11期間,阿里雲CDN為Lazada電商內容加速,並且通過獨家的直播解決方案,幫助Lazada把雙11晚會推送到泰國、馬來西亞,和東南亞人一起狂歡雙11。

資料搬遷,從GCP Storage 遷移到阿里儲存(OSS) « 關於網路那些事...

通常在建構系統中,擴充新服務,在遷移過程,有時會需要將雲端資料進行搬移 最近剛好一個系統需要將GCP上面的Storage資料遷移到阿里雲OSS 在這裡做一個紀錄

阿里CDN實時日誌服務正式釋出 資料驅動 實時決策

12月26日,阿里雲CDN實時日誌服務舉辦線上直播發佈會,全網首次深度解讀阿里雲CDN大資料系統技術演進,產品應用場景與業務實操。阿里雲CDN實時日誌服務可以將CDN採集的實時日誌,在小於60秒的時間進行實時、互動式分析和報表呈現,為監控、報警、渠道分析、運營分析提供實時、可靠的資料參考。 普通的CDN離線

一文深度解讀阿里CDN實時日誌的前世今生:挖掘實時資料的無限價值

阿里雲CDN實時日誌服務可以將CDN採集的日誌,秒級的交付給使用者, 並且可以對採集到的日誌進行實時、互動式分析和報表呈現,為監控、報警、渠道分析、運營分析提供實時、可靠的資料參考,讓使用者遠離鎖事,專注資料價值。 12月26日,阿里雲CDN實時日誌服務舉辦線上直播發佈會,全網首次深度解讀阿

姚偉斌:阿里CDN技術演變之路

      2015年1月31日,阿里雲課堂第六期在北京開課,“大型網際網路應用架構之儲存與分發”主題分享在眾多朋友的期待下精彩上演,現場觀眾再次爆滿。 本次活動中,姚偉斌(花名:文景)和李文兆兩位講師為大家獻上了精彩演講,並在OpenSpace環節與觀眾展開討論,積極互動

阿里CDN實時日誌服務是什麼?

阿里雲CDN實時日誌服務重磅釋出!在飛天技術匯第43期,阿里雲釋出了CDN實時日誌服務,直播及回看地址:https://yq.aliyun.com/live/699?source=5176.11533457&userCode=ahxhg8oc&type=copy ——日誌秒級交付、一站式

SpringBoot 整合阿里OSS 上傳

#maven 匯入的包 <!--aliyunOSS--> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId&

2018CDN年度盤點:停止降價,阿里CDN積極拓展新業務提升硬實力

2018年12月31日,“時間的朋友”跨年演講如約而至,這場被網友戲稱為“中年人聽羅胖的跨年演講與老年人買權健的營養保健品,其本質上是沒有任何差別的”的分享,講到了“以前,變化是生活的一部分;現在,變化成了生活本身”。2018年無論對於生活中的個體,還是CDN行業中的各個玩家,都不是那麼的一帆風順,但不失精彩

阿里CDN的API操作

阿里雲提供CDN的多種重新整理方式,可以通過阿里雲控制檯重新整理,也可以直接通過阿里雲的SDK進行CDN重新整理,本文主要記錄使用JAVA API重新整理CDN。 1.CDN操作前提是已經開通了阿里雲CDN服務,拿到AccessKeyID和AccessKeyS

阿里CDN體量超網宿了,CDN市場開始洗牌了嗎?

之前由雲端計算巨頭殺價殺到眼紅的CDN市場,又迎來大變動。 3月29日,阿里雲宣佈與優酷CDN團隊合併。合併後,現已有20萬餘客戶的阿里雲正式成為中國體量最大的CDN服務體,頻寬能力超40T,達網宿的2倍,與全球排名第一的Akamai不相上下。 “阿里雲花了兩年的時間,在體量上超過了已經在CDN

阿里 CDN 問題排查

CDN 幾種使用常見的架構 CDN診斷工具: 1、client 出口 IP,DNS 訪問到的 CDN 節點 IP https://cdn.dns-detect.alicdn.com/https/doc.html; (阿里排障工具) 2

阿里伺服器搭建FTP圖片伺服器[圖文詳解]

FastDFS是用c語言編寫的一款開源的分散式檔案系統。FastDFS為網際網路量身定製,充分考慮了冗餘備份、負載均衡、線性擴容等機制,並注重高可用、高效能等指標,使用FastDFS很容易搭建一套高效能的檔案伺服器叢集提供檔案上傳、下載等服務。 Tracker

關於阿里CDN的一些瞭解(上篇)

簡介 阿里雲 CDN(內容分發網路)全稱是 Alibaba Cloud Content Delivery Network,建立並覆蓋在承載網之上、由分佈在不同區域的邊緣節點伺服器群組成的分散式網路,替代傳統以WEB Server為中心的資料傳輸模式。 將源內容釋出到邊