云开发是啥?看看它在编程导航项目的实践
大家好,我是魚皮,近幾年騰訊云開發技術持續發力,更新升級速度非常迅猛,功能也是越來越強大易用,公司最近也搞了場云開發應用競賽,見證云開發的破繭化蝶。
還不了解云開發的同學,可以閱讀這篇文章:感謝,我升高啦!
我的作品【編程導航】也有幸拿到了一等獎!我盲猜很大一部分原因是該網站的實現幾乎用到了云開發所有的主流功能,應用大賽不就講究個技術應用么?合理應用技術去解決系統中的問題。
下面就給大家分享下云開發在編程導航中的應用吧。
P.S 編程導航是一個幫大家發現優質編程資源的網站,https://www.code-nav.cn
云開發在編程導航中的應用
該項目已開源,對想學習云開發的朋友有實踐意義。
地址:https://github.com/liyupi/code-nav
先放一張全部功能的思維導圖:
基礎能力
云數據庫
存儲編程導航網站的業務數據,比如用戶、資源等。通過在云開發網頁控制臺配置索引來加速查詢。
登錄鑒權
用戶未登錄時,使用云開發 匿名登錄 訪問云開發資源;當用戶輸入動態碼登錄后,使用 自定義登錄 實現用戶登錄態的前后端 token 存儲和交互。
云函數
編程導航業務后臺采用 serverless 架構,把后端打碎,每個接口都是一個云函數,獨立部署。用于實現對數據庫的增刪改查、用戶登錄等功能。
通過云函數 定時觸發器 實現用戶排行周榜、月榜。
云存儲
存儲用戶頭像、資源圖片等文件。
靜態網站托管
一鍵部署編程導航靜態網站,通過云開發提供的 CDN 加速網站的訪問。
HTTP 訪問服務
暴露云函數,使其可供其他服務器調用,并通過配置多個域名實現網站域名重定向。
云托管
以 Docker 容器集群的方式部署網站前端、微信公眾號后臺等服務。
安全規則
控制云開發資源的默認訪問權限,保護數據安全,防止小賊偷家。
日志管理
云開發默認提供了日志記錄,并且通過在云函數中使用日志 SDK 實現自定義分級日志。可以通過這些日志,定位故障、分析異常流量來源。
監控告警
通過在云開發網頁控制臺配置云函數等資源的監控告警規則,即時發現問題,保護業務。
API 能力
服務端 SDK 訪問云函數
讓多個零散的云函數能夠互相調用,可用于訪問公共云函數,比如發送系統消息、增加用戶積分等。(類似微服務架構的公共服務)
數據庫事務
支持提交和回滾,用于保證數據庫一致性,防止用戶發布資源后沒有增加積分等問題。
聚合查詢
云開發的數據庫聚合查詢能力非常強大,通過隨機查詢實現對資源的隨機推薦;并通過流水線、關聯查詢提高查詢的靈活性和效率,比如查詢評論列表的同時關聯查詢用戶頭像、昵稱等信息。
數據庫實時推送
這是大家經常好奇的 socket 長連接解決方案,云開發允許用戶實時監聽數據庫字段的變化,透明化底層 socket,從而實現網站實時公告、實時聊天室等功能。
擴展能力
云 CMS 內容管理系統
提供了集中式可視化數據管理功能,便于管理員定義數據模型、全局管理數據,非常方便!
云 Redis
云開發支持內網訪問 Redis 中間件,非常安全。我們編寫了 Redis 內部公共服務,通過 setnx 等方式對接口進行限流,保證接口安全。
工具插件
CloudBase CLI
直接在本地一行命令就能快捷發布靜態網站、部署云函數、觸發器等。
CloudBase Framework
和 CLI 類似,使用 CloudBase Framework 命令工具,一鍵部署云開發完整應用,比如靜態網站、云托管容器等。
其他能力
云環境共享
最開始編程導航只有網站,后來開發了小程序。總不能再單獨給小程序開發一套接口(也就幾十個)、提供一套數據吧?
所以我們通過云環境共享能力,直接復用 web 項目的接口、數據等資源。
以上就是本期分享。最后給大家分享一些免費的云開發和小程序教程,真心好學好用~
指路:跑了,留下 6T 的資源!
我是如何從零開始通過自學,拿到騰訊、字節等大廠 offer 的,可以看這篇文章,不再迷茫!
我學計算機的四年,共勉!
最后還請朋友們給本文 點贊 + 收藏 支持下啦 ??
總結
以上是生活随笔為你收集整理的云开发是啥?看看它在编程导航项目的实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BT下载原理
- 下一篇: 4月9日51CTO.com编辑部训练