本篇已經是雲開發平台的第九篇内容分享,從第一篇到第九篇,大家可以發現,這是從雲原生應用誕生、應用建立、開發代碼、遷移部署和部署後的運維監控,一整套操作。本篇内容主要分享輕量化運維監控這部分。
如何綁定域名、設定泛域名并設定多環境綁定
首先先建立一個香港節點的應用開始,因為後面會涉及到域名的解析。

應用建立後,首先要確定進入到線上的開發環境,然後去部署。部署後複制CNAME域名,然後打開域名管理平台,比如說阿裡雲的 DNS域名管理,然後添加記錄選擇記錄類型CNAME,主機記錄裡填寫*+自取名稱,字尾是主域名workbench.fun。這就意味着,隻需要做一次解析,未來*可以用任何域名替代。
建立之後,把上述複制的CNAME域名,黏貼到記錄值框中,然後點選确認。記錄值就把它填寫我們這邊複制過來的CNAME位址,第一次部署之後得到的CNAME位址複制下來,然後把它填寫到記錄值裡邊,填寫之後點确認。
确認後再回到雲開發平台,點選應用配置并去綁定域名。上文中已經綁定的域名是*company. Workbech.fun, *作為通配符可以用任何内容替換,比如在日常環境下,将*換成test, 那麼域名就變成了test.company.workbench.fun;預發環境一般用pre替代*;線上環境不是泛域名,是以這裡還需要再解析,這裡我們用production的縮寫prod來替換*,就成了prod.company.workbench.fun。配置完成後點選确定儲存。
這樣操作下來,我們就可以通過一次域名解析,對一個應用的三個環境同時配置
線上真實域名,這些配置的域名不會變化,每次都可以通過它們去通路。
儲存後再去雲開發平台部署,比如部署日常環境。前提是安裝了依賴,部署儲存後可以先測試一下。當測試後頁面顯示日常環境,就可以部署到日常環境,點選繼續部署,就可以等它建構、打包、部署直到完成。
部署成功後,在部署成功的消息裡可以看到“TEST環境的自定義域名test.company.workbench.fun已經綁定到API網關二級域名上,可以用自定義域名通路了”。
打開test的自定義域名,而不是平台配置設定的臨時二級域名,因為臨時的二級域名隻有30分鐘時效,是以在真實的開發環境當中,一般大家都需要綁定一個固定的域名。
接下來部署預發環境,理論上講當日常環境沒有問題就可以選擇部署預發環境。還是回到雲開發平台,選擇預發環境,然後勾選“将日常環境釋出到預發環境”,然後部署。
預發環境部署好了,點開pre.company.workbench.fun的域名,打開預發環境。這樣日常和預發兩套環境就固定下來了,都沒有問題的話,接下來就可以把它部署到線上環境。
部署到線上環境的方法也是一樣的。線上環境部署成功後,打開自定義域名,與前兩個環境是一樣的。是以,當我們日常需要一個環境做聯合測試,大家可以用日常環境;用預發環境做回歸測試;前兩者都沒問題,再釋出到線上環境。
如何檢查故障并解決故障
如何檢查線上的故障。在剛剛部署的日常應用頁面,可以看到标題是RDS/OTS資料庫讀取示例,下側小字提示“以下内容讀取自雲開發平台todo示例資料庫(RDS)”,但是下面的頁面并沒有loading出具體内容。那麼我們可以通過點選右鍵并點選檢查,看看具體問題。
發現有錯誤報警後,我們再次回到雲開發平台。在雲開發平台可以看到當應用上線後,就會出現“運維監控”和“應用賬單”兩個入口。運維監控是可以幫助快速檢視應用線上運作的日志。那麼為了解決上述的問題,我們點開運維監控檢視運作日志。
打開運維監控後,頂部會讓我們選擇要檢視的運維監控環境。我們點開日常環境,這裡面有日志查詢和函數名額。點選函數名額會切換到函數名額的一個界面,可以看到日常環境函數的調用情況,比如說記憶體使用情況,執行的時間,出錯的情況,然後包括錯誤率等等這些資訊。
點開日志查詢裡有個簡單查詢,有個進階查詢,一般情況下簡單查詢就足夠我們去使用了。在日志查詢裡,點開每一個請求都可以看到請求背後的資訊。這裡我們可以點開每一個請求,看到請求背後的日志。
那麼我們怎麼能通過海量的請求日志資訊,定位到具體的問題呢?舉個例子,比如
default要發起api/db_get的請求,它會引入db_conflict,也就是配置資料庫的資訊,然後再根據使用者使用的資料庫來切換不同的代碼去執行不同的邏輯。
我們看一下 db_config.js,它會去讀取不同的資料庫配置。我們可以把這些資料庫配置錄入到我們的系統環境裡面,比如說應用環境。我們先在日常環境把這個資料庫連接配接資訊這些環境變量添加進去。添加進去之後,再來日常環境測試一下,測試後再重新請求擷取資訊。這樣就成功了。
是以大家如果要通過日志去定位問題,可以在你的代碼裡去輸入日志的消息。具體方法,可以打開幫助文檔中的快速入門,在運維監控部分裡,有教大家怎麼在應用裡去寫日志。大家可以通過這個文檔來快速的去了解如何在應用裡寫日志,如何通過日志定位應用的線上的問題。
以上分享的是在開發調試階段檢視日志并定位問題。如果已經部署到線上了,怎麼操作呢?部署成功後,可以登入原日常環境自定義域名,打開頁面标題提示會由“日常環境“變成”線上環境“,說明部署成功。
接下來來看這個部署成功的應用,這個應用既有前端代碼也有後端代碼,那麼這些代碼使用者在通路的時候就會産生一些流量,有些流量是可以緩存的。那麼怎麼去緩存獲得更高的使用者通路性能并降低下行流量呢,推薦的做法是通過給應用做CDN的全站加速來實作。CDN全站加速在幫助頁面-快速入門中也有介紹的文檔。
如何做到CDN的全站加速?
首先需要購買資源包。打開CDN控制台,點購買資源包,可以選擇 18塊錢全國通用包100GB,基本上正常情況下,個人應用都是夠用的。購買之後,再到CDN控制台添加一個域名,比如泛域名*.company.workench.fun。
資源組不用選,業務類型是動态加速,源站資訊選源站域名;然後将應用的CNAME二級域名位址複制到域名欄中;端口選擇取決于用什麼通路,如果用http通路選擇80端口;再選擇加速區域,然後點選下一步完成。
在實際使用中需要先将域名備案,這樣可以在加速區域選擇“僅中國内地”或“全球”,否則會有提示去備案。那麼我們的課程分享的域名是測試域名,沒有備案,是以選擇“全球(不包含中國内地)”。
送出成功後傳回域名清單,這裡會出現一個CDN新配置設定的CNAME位址,這個新位址需要重新做一次解析。複制新的CNAME位址後再次傳回DNS域名管理平台,點選添加記錄。記錄類型選擇CNAME,主機記錄填寫之前的域名位址,在記錄值框中,将複制的新的CNAME位址粘貼,然後點選确認完成。
用泛域名的好處是,每個環境都可以直接去使用CDN加速服務。
當“配置中”變為“正常運作”,表明配置成功。配置成功後,可以通過左側目錄中的資源用量、實時監控、統計分析等,檢視配置成功域名具體日志資訊。
在真正使用CDN的時候,可以通過頁面左側目錄工具管理中的“重新整理預熱”,通過它可以提前把要緩存的位址,URL或目錄,添加進來。這部分的操作在幫助文檔中也有詳細的介紹。
點選送出後,可以點選操作記錄,可以看到它會幫助針對添加的位址進行重新整理,達到提前去除緩存的效果。相當于我們主動的把緩存同步到各個CDN節點,然後使用者來通路的時候就可以直接享受到CDN的加速效果。
這樣做可以有兩個好處,第一,使用者通路應用性能更快;第二,應用的下行流量的費用會更低。
如何用https通路應用
這個在幫助文檔中也有詳細介紹。用https通路有兩種路口,第一種情況是沒有配置CDN加速的情況下,是需要到API網關操作的,但前提是需要有https的證書。幫助文檔中也有介紹如何申請免費證書的方法。
接下來介紹下如何在API網關配置https證書。首先打開API網關的控制台,然後選擇應用所在的區域,比如香港節點。然後點開剛剛測試的應用,下拉看到獨立域名部分,右側後面部分可以看到“選擇證書”。
如果你是第一次操作,要點選手動添加證書,然後補充證書名稱和内容。怎麼補充這些内容在幫助文檔中都有介紹。全部填寫完整後,點選确定證書添加完成。完成後就可以用https通路域名了。
第二種情況,如果已經配置了CDN加速,如何綁定https?如果配置了CDN加速,CNAME位址是需要改的。打開CDN域名控制台,點選左側“域名管理”,點選對應域名右側的“配置”,進入域名詳情後點選左側“https配置”。
然後點選“修改配置”,在彈出的配置界面開啟“https安全加速”,開啟後會彈出一個确認提醒,按照提示勾選“我已了解”,然後點選确認即可。
最後阿裡雲開發平台為了讓使用者更好的體驗該平台特此準備了10元無門檻代金券:
https://workbench.aliyun.com/activities/coupon