騰訊雲1核2G支撐的面試怪圈服務是如何實現的?揭秘Ta的架構設計與黑科技!Nice!
很多程式設計師有自己的部落格網站,擁有一個屬於自己的網站是每個程式設計師的夢想,擁有一個高訪問量的網站更是一個程式設計師的期許,做網站好玩、有趣、有成就感、可以忘我。因此沒有理由程式設計師不擁有一個屬於自己的小站,一個管理系統也好,一個部落格也好,一個瞬間分享也好,每一次後臺的訪問資料+1,都有一點點小激動~
Cool,是不是打動你了,那麼今天和大家閒聊一下擁有一個1核2GB的騰訊雲伺服器,我是如何搭建的網站及我的設計思路。
以下是我今天要分享的話題:
我的網站的簡介與現狀呢?(融合百度統計)
如何快速搭建一個自己的網站?(騰訊雲控制檯操作)
我的網站的架構設計是什麼樣?(最小伺服器資源的架構設計)
網站做了哪些最佳化呢?(乾貨多!)
網站的簡介與現狀
面試怪圈官網是一個程式設計師資源分享的平臺,當然包含前端、後端、大資料、運維甚至還可以有產品的資料。
設計到上線週期為一週,面試怪圈官網的第一版本,在2021。7。2正式上線了,以下是當時發的朋友圈。
最初網站做的很簡單,首頁是一個卡片分頁,展示全部的資源。點選進去檢視資源詳情,可以下載。
一個月過去了,面試怪圈過得好不好?答案是面試怪圈一直在前進的路上,從未止步!可以看下
百度統計
的資料。後面我會告訴大家如果將自己的網站的監控整合到百度統計。
PV統計
UV統計
新老使用者數統計
其中跳出指的是使用者開啟第一個頁面後關閉了頁面。
如何快速搭建一個自己的網站?
第一步,首先購買一個雲伺服器。國內的雲伺服器有騰訊雲、阿里雲、華為雲等,以下是幾個雲的比對(以下內容來自知乎,僅供參考):
阿里雲:
適合人群:中小企業
優點:阿里雲依託於阿里巴巴集團,透過對其豐富的網路資源進行整合,擁有自己的資料中心,是國內雲伺服器的大佬,品牌名氣較大。阿里雲的國際輸出速度快。目前,有北京、青島、杭州、香港機房可選,多線BGP接入;
缺點:價格相對較貴,硬碟I/O速度較差,硬碟不能直接擴容大小,必須新購買硬碟遷移資料。
騰訊雲:
適合人群:遊戲客戶、開發者、APP使用者等。
優點:騰訊雲跟微信對接有天然優勢,目前使用者主要以遊戲應用為主。騰訊雲伺服器使用公共平臺作業系統,團隊完全負責雲主機的維護,並提供豐富配置型別虛擬機器,使用者可以便捷地進行資料快取、資料庫處理與搭建web伺服器等工作。騰訊對遊戲和移動應用類客戶提供了較強的扶持政策,比較適合這型別的客戶使用。
缺點:普通中小客戶和中網站客戶難以透過審批,騰訊提供的配套裝置也不適合這部分客戶使用。
華為雲:
適合人群:政府、大中型企業、銀行等大客戶。
優點:華為企業雲貫徹了華為公司“雲、管、端”的戰略方針,聚焦I層,使能P層,聚合S層,致力於為廣大企業、政府和創新創業群體提供安全、中立、可靠的IT基礎設施雲服務。華為企業雲依託業內的基礎設施,在全國設定多個雲服務區,部署多個雲計算中心資源池,主要以安全性為賣點,採用了分層和縱深防禦理念。
缺點:會出現不穩定的情況。
我選擇的是騰訊雲-輕量應用伺服器,第一次購買,價格非常美麗也很友好300多大洋3年。
我選擇的配置如下,但唯一的缺點是月流量有限制:500GB,因此節流才是王道:
第二步,給自己選擇一個匹配的域名,如果能選擇名稱既貼切,並且6位以內的域名,那就趕緊下手吧。我諮詢網站掛了msgq的com域名,轉讓費16400,每年還是要續費的。 而一手購買的域名價格一般為幾十塊錢/年。
當然,購買一個域名後,並不能直接使用。還需要走以下幾步:
實名認證,也就是讓域名要實名到某個人身上。
網站備案,騰訊雲小程式即可辦理。
網站底部一般備註備案號,同時連結到工信部的網站。比如騰訊雲網站下方展示如下:
4。 域名解析,在騰訊雲上可完成操作,在記錄值填寫你的伺服器ip,其他預設即可:
當然,第三步肯定要開發一個自己的應用,部署上去。
我的網站的架構設計是什麼樣?
1核2G我是如何設計呢?效能高、頻寬低、統計全,你可能也注意到了我的網站有很多圖片,我是如何做到低頻寬呢?這裡我繪製了一張簡單的架構圖:
msgq-server負責門戶展示服務,也就是進入面試怪圈官網的頁面。
Cache層保證了低配下能夠快速響應,減少儲存直接訪問。由於網站資源變動頻率相對較低,快取再合適不過了,這裡由於伺服器資源的限制,並沒有使用分散式快取,而直接使用JVM記憶體。
Cache層實現比較簡單,使用Springboot的
@Cacheable
註解。
msgq-manager是後臺管理,負責資源的錄入。
Mysql按照的8的版本,並且使用Docker安裝。
百度統計將使用者的行為資料記錄下來,以便更好的分析網站的資料。
為什麼是免費的圖片儲存服務?並沒有購買物件儲存服務,我想到了markdown雲編輯器,複製圖片後,會生成一個圖片連結,經驗證,圖片不會失效,因此獲取了一個免費、無容量限制的圖片儲存。黑科技,Very Nice!
百度網盤比較大,特別適用儲存大量資源,我的網盤TB以上的儲存。
微信公眾號服務提供了自動回覆功能,提升關注轉換率。
訪騰訊安全或者360的半透明浮窗,近實時展示網站的流量資料,比如pv、uv、。
統計閘道器負責統一的統計出口,包括百度統計提供的pv、uv,微信公眾號提供的關注數、網站服務自身的統計資料。但是這個閘道器需要做服務認證,防止內部資料外洩。
因此,上面的架構設計,透過瀏覽器瀏覽圖片並沒有佔用伺服器的頻寬,而是透過瀏覽器直接到圖片儲存服務。我只需要關心文字傳輸,也就是json資料帶來的頻寬損耗。
網站做了哪些最佳化呢?
除了架構上說到的幾點:
應用伺服器無圖片儲存,節約頻寬。防盜鏈破解 但是,markdown伺服器也是做了防盜鏈的措施。我們只需在我們的頁面
Head
標籤中增加如下程式碼,就可以成功繞過:
快取提升查詢效能
資源分享類的網站,更新頻率較低,可以將資料快取,減少對Mysql資料庫的訪問,提升頁面的拉取資料的速度。
seo最佳化
搜尋引擎會爬取我們的網站,因此我們需要做頁面tdk最佳化,也就是我們網站head下的title、description、keywords。tdk設定的合理會在一定程度上滿足爬蟲的胃口,提升關鍵字的權重。但對於小網站來說,過熱的詞很難得到排行,第一頁往往是廣告位。
因此,我們選擇的是長尾詞,比如java面試資料。如何選擇長尾詞,可以藉助百度的熱搜提示,如圖:
網站首頁改造提升留存率 以下是網站訪問的熱點分佈,從左到右,從上到下:
因此,要將網站的精華放置到最上邊,選單欄從左到右排布。同時,豐富首頁的內容,更利於延遲訪問者的停留時間,降低跳出率。
還有一點,合理的佈局及豐富的內容有利於搜尋引擎爬蟲的深度和廣度爬取。 我是這樣佈局的:
下載方式的改變,提升關注度
原有的設計方式,在資源詳情頁:有資源的url和關注的二維碼。後臺統計資料分析,發現點選了連結,沒有去掃描二維碼關注下載的使用者比較多。 客觀原因主要有二:
跳轉到百度網盤,卻找不到提取碼
跳轉到百度網盤,需要回到原頁面找二維碼,不方便導致放棄。 改版以後如下圖:
引入圖片預覽外掛,提升資源預覽體驗 資源詳情頁,圖片無法放大,或者翻頁檢視。我們引入Viewer。js提升了對圖片的預覽體驗。該外掛強大、簡潔,力薦:
利用百度統計分析我們的資料 百度統計的接入很簡單,可以透過官方快速接入。只需要在頁面head標籤中嵌入一段程式碼即可。 百度統計讓我們更瞭解網站的各項指標,比如:
pv
uv
實時訪問監控
搜尋引擎關鍵詞訪問監控
外鏈來源監控
來客的地域分佈
來客年齡分佈
新客、舊客統計
訪問頁面排行 。。。 等等,透過百度統計會發現很多有趣並且有價值的資料。
今天就分享到這裡了,我是公眾號「面試怪圈」的Yesterday,喜歡技術、喜歡研究,今天的文章如果您感興趣或者想加群,可以關注公眾號,一起交流技術。