天天看點

雲開發是啥?看看它在程式設計導航項目的實踐

大家好,我是魚皮,近幾年騰訊雲開發技術持續發力,更新更新速度非常迅猛,功能也是越來越強大易用,公司最近也搞了場雲開發應用競賽,見證雲開發的破繭化蝶。

還不了解雲開發的同學,可以閱讀這篇文章:感謝,我升高啦!

我的作品【程式設計導航】也有幸拿到了一等獎!我盲猜很大一部分原因是該網站的實作幾乎用到了雲開發所有的主流功能,應用大賽不就講究個技術應用麼?合理應用技術去解決系統中的問題。

下面就給大家分享下雲開發在程式設計導航中的應用吧。

P.S 程式設計導航是一個幫大家發現優質程式設計資源的網站,https://www.code-nav.cn
該項目已開源,對想學習雲開發的朋友有實踐意義。 位址:https://github.com/liyupi/code-nav

先放一張全部功能的思維導圖:

存儲程式設計導航網站的業務資料,比如使用者、資源等。通過在雲開發網頁控制台配置索引來加速查詢。

雲開發是啥?看看它在程式設計導航項目的實踐

使用者未登入時,使用雲開發 匿名登入 通路雲開發資源;當使用者輸入動态碼登入後,使用 自定義登入 實作使用者登入态的前後端 token 存儲和互動。

程式設計導航業務背景采用 serverless 架構,把後端打碎,每個接口都是一個雲函數,獨立部署。用于實作對資料庫的增删改查、使用者登入等功能。

通過雲函數 定時觸發器 實作使用者排行周榜、月榜。

雲開發是啥?看看它在程式設計導航項目的實踐

存儲使用者頭像、資源圖檔等檔案。

雲開發是啥?看看它在程式設計導航項目的實踐

一鍵部署程式設計導航靜态網站,通過雲開發提供的 CDN 加速網站的通路。

雲開發是啥?看看它在程式設計導航項目的實踐

暴露雲函數,使其可供其他伺服器調用,并通過配置多個域名實作網站域名重定向。

雲開發是啥?看看它在程式設計導航項目的實踐

以 Docker 容器叢集的方式部署網站前端、微信公衆号背景等服務。

控制雲開發資源的預設通路權限,保護資料安全,防止小賊偷家。

雲開發是啥?看看它在程式設計導航項目的實踐

雲開發預設提供了日志記錄,并且通過在雲函數中使用日志 SDK 實作自定義分級日志。可以通過這些日志,定位故障、分析異常流量來源。

雲開發是啥?看看它在程式設計導航項目的實踐

通過在雲開發網頁控制台配置雲函數等資源的監控告警規則,即時發現問題,保護業務。

雲開發是啥?看看它在程式設計導航項目的實踐

讓多個零散的雲函數能夠互相調用,可用于通路公共雲函數,比如發送系統消息、增加使用者積分等。(類似微服務架構的公共服務)

支援送出和復原,用于保證資料庫一緻性,防止使用者釋出資源後沒有增加積分等問題。

雲開發的資料庫聚合查詢能力非常強大,通過随機查詢實作對資源的随機推薦;并通過流水線、關聯查詢提高查詢的靈活性和效率,比如查詢評論清單的同時關聯查詢使用者頭像、昵稱等資訊。

雲開發是啥?看看它在程式設計導航項目的實踐

這是大家經常好奇的 socket 長連接配接解決方案,雲開發允許使用者實時監聽資料庫字段的變化,透明化底層 socket,進而實作網站實時公告、實時聊天室等功能。

雲開發是啥?看看它在程式設計導航項目的實踐

提供了集中式可視化資料管理功能,便于管理者定義資料模型、全局管理資料,非常友善!

雲開發是啥?看看它在程式設計導航項目的實踐

雲開發支援内網通路 Redis 中間件,非常安全。我們編寫了 Redis 内部公共服務,通過 setnx 等方式對接口進行限流,保證接口安全。

直接在本地一行指令就能快捷釋出靜态網站、部署雲函數、觸發器等。

和 CLI 類似,使用 CloudBase Framework 指令工具,一鍵部署雲開發完整應用,比如靜态網站、雲托管容器等。

最開始程式設計導航隻有網站,後來開發了小程式。總不能再單獨給小程式開發一套接口(也就幾十個)、提供一套資料吧?

雲開發是啥?看看它在程式設計導航項目的實踐

是以我們通過雲環境共享能力,直接複用 web 項目的接口、資料等資源。

以上就是本期分享。最後給大家分享一些免費的雲開發和小程式教程,真心好學好用~

指路:跑了,留下 6T 的資源!

我是如何從零開始通過自學,拿到騰訊、位元組等大廠 offer 的,可以看這篇文章,不再迷茫!

我學計算機的四年,共勉!

最後還請朋友們給本文 點贊 + 收藏 支援下啦 ❤️

雲開發是啥?看看它在程式設計導航項目的實踐