Serverless:云函數(shù) + 小馬BI,將報表極速搬上云

來源:騰訊技術(shù)工程
作者: sevenyjluo
時間:2020-06-18
5809
在擁抱云計算的大潮下,如何借助騰訊云上PAAS產(chǎn)品無服務(wù)云函數(shù)SCF(Serverless CloudFunction),云數(shù)據(jù)庫(MySQL),以及結(jié)合報表可視化工具小馬BI,來快速開發(fā)我們的運(yùn)營報表呢?

很多業(yè)務(wù)都需要進(jìn)行運(yùn)營數(shù)據(jù)統(tǒng)計,如統(tǒng)計用戶數(shù)、調(diào)用量等等。相較于傳統(tǒng)方式,在擁抱云計算的大潮下,如何借助騰訊云上PAAS產(chǎn)品無服務(wù)云函數(shù)SCF(Serverless CloudFunction),云數(shù)據(jù)庫(MySQL),以及結(jié)合報表可視化工具"小馬BI"(https://xiaoma.tencent.com/#/),來快速開發(fā)我們的運(yùn)營報表呢?

效果展示、架構(gòu)介紹

運(yùn)營日報的整體架構(gòu)如下:

微信圖片_20200618085230.jpg

簡單概括下,就是通過云函數(shù)的定時觸發(fā)器,每天定時從源數(shù)據(jù)庫(或API接口等)獲取數(shù)據(jù)并處理,之后存到目標(biāo)數(shù)據(jù)庫。小馬BI從目標(biāo)數(shù)據(jù)庫拉取數(shù)據(jù)進(jìn)行展示。so easy!

報表效果如下:

微信圖片_20200618085234.jpg

第一步、申請注冊騰訊云賬號

在騰訊云(https://cloud.tencent.com/)上,申請注冊一個騰訊云賬號。

第二步、購買云MYSQL(非必需)

在騰訊云數(shù)據(jù)庫控制臺購買一個數(shù)據(jù)庫,用于存儲我們處理后的數(shù)據(jù)。

(理論上,目標(biāo)數(shù)據(jù)庫只要位于小馬BI能訪問到的服務(wù)器上就行。如果你不想把數(shù)據(jù)存在云數(shù)據(jù)庫中,您可跳過此步。)

微信圖片_20200618085238.jpg

微信圖片_20200618085241.jpg

第三步、創(chuàng)建云函數(shù)

在騰訊云云函數(shù)控制臺新建云函數(shù)。(如若您的MYSQL數(shù)據(jù)庫配置了VPC,請確保云函數(shù)與其位于同一VPC內(nèi))。

微信圖片_20200618085244.jpg

微信圖片_20200618085248.jpg

第四步、開發(fā)

接下來就是具體的代碼開發(fā),云函數(shù)只是幫我集成了各個語言(如Node Python等)的運(yùn)行時。

代碼的開發(fā)與正常開發(fā)別無二致。

在此不再贅述??梢詤⒖糞CF快速入門(https://cloud.tencent.com/document/product/583/9179)。

4.1存量項目遷移

云函數(shù)通過指定的函數(shù)入口來進(jìn)行調(diào)用。

所以現(xiàn)有項目,只需要入口執(zhí)行代碼改為函數(shù),并在控制臺配置相應(yīng)的函數(shù)入口,即可實現(xiàn)無縫遷移。

微信圖片_20200618085252.jpg

微信圖片_20200618085256.jpg

第五步、部署

代碼開發(fā)完以后,可以通過手動、命令行工具(https://cloud.tencent.com/document/product/583/33445)等方式上傳。

微信圖片_20200618085259.jpg

配置定時觸發(fā)器,每天8點執(zhí)行就可以了。

微信圖片_20200618085303.jpg

可以通過控制臺比較方便地查看日報每天的執(zhí)行日志:

微信圖片_20200618085305.jpg

第六步、配置告警(非必需)

日報執(zhí)行出錯,作為開發(fā)人員我們很希望第一時間接收到通知,以便排查。

6.1通過云監(jiān)控來配置告警

微信圖片_20200618085308.jpg

微信圖片_20200618085312.jpg

6.2通過企業(yè)微信機(jī)器人

可以通過代碼改造,全局捕獲錯誤,將函數(shù)執(zhí)行成功或失敗的推送給企業(yè)微信機(jī)器的回調(diào)地址。

微信圖片_20200618085315.jpg

效果如下:

微信圖片_20200618085559.jpg

第七步、配置小馬BI

處理后的數(shù)據(jù)存入云數(shù)據(jù)庫以后,在小馬BI上配置數(shù)據(jù)庫地址為云上數(shù)據(jù)庫(或您的目標(biāo)數(shù)據(jù)庫)的地址。

微信圖片_20200618090533.jpg

之后拖拽組件生成圖表就OK了。更多配置細(xì)節(jié),可參考小馬BI幫助手冊。

微信圖片_20200618085652.jpg

寫在最后

運(yùn)營報表上云相較于之前,有以下優(yōu)勢:

1、更方便的重跑日報。當(dāng)天日報出錯。需要重跑的話,只需要通過在控制臺點擊按鈕就能完成,無需登機(jī)器。

2、更方便的查看日志。原先查日志都需要登錄服務(wù)器,現(xiàn)在通過控制臺界面就能完成。

3、部署更方便。原先想更改文件,需要通過rz/sz的方式把文件傳到機(jī)器上,現(xiàn)在結(jié)合云函數(shù)的命令行工具,可以很方便地進(jìn)行部署。

4、更方便地監(jiān)控與提醒。日報出錯,通過微信機(jī)器人、云監(jiān)控的告警功能來更方便的提醒。

結(jié)合小馬BI的可視化、推送能力,我們可以很方便、快速地完成運(yùn)營報表開發(fā)。


原文鏈接:點擊前往 >
文章來源:騰訊技術(shù)工程
版權(quán)說明:本文內(nèi)容來自于騰訊技術(shù)工程,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家