本項目用于移動端的數(shù)據(jù)統(tǒng)計,項目地址: 。開源的數(shù)據(jù)統(tǒng)計countly做的很好,但是基礎(chǔ)免費版的功能實在不夠看,因此我就決定用go語言來寫了這個項目,一來可以在實踐中學(xué)習(xí)go語言,二來也可以開發(fā)功能完整的開源平臺。該項目正在開發(fā)中,歡迎有興趣的gopher一起參與。
創(chuàng)新互聯(lián)建站10多年企業(yè)網(wǎng)站設(shè)計服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及高端網(wǎng)站定制服務(wù),企業(yè)網(wǎng)站設(shè)計及推廣,對地磅秤等多個行業(yè)擁有豐富的網(wǎng)站推廣經(jīng)驗的網(wǎng)站建設(shè)公司。
數(shù)據(jù)存儲方面使用的是mongodb。由于數(shù)據(jù)統(tǒng)計業(yè)務(wù)幾乎不涉及到事務(wù)以及嚴(yán)格的一致性場景,而且mongodb的自動分片功能可以支撐較大的數(shù)據(jù)量。使用大數(shù)據(jù)的存儲組件的話就太過于重了。因此選用mongodb。
業(yè)務(wù)邏輯整體基于事件的發(fā)布訂閱。當(dāng)收到客戶端請求, frontend 會對請求數(shù)據(jù)進(jìn)行處理,然后發(fā)布響應(yīng)的事件。 backend 收到事件后進(jìn)行統(tǒng)計處理。
后臺展示基于Vue-Admin-Template開發(fā),本人前端能力基本就是依葫蘆畫瓢,希望有前端大神來開發(fā)后臺頁面,項目地址:
目前客戶端API僅有2個。一個是上報 openApp 打開APP時間,一個是上報 usageTime 一次啟動使用時長事件。SDK方面也需要移動端的大神開發(fā),感興趣的大佬可以一起開發(fā)。
下面放一點后臺頁面的效果圖:
GoAnalytics是基于go實現(xiàn)的一個數(shù)據(jù)統(tǒng)計平臺,用于統(tǒng)計移動端的數(shù)據(jù)指標(biāo),比如啟動次數(shù)、用戶增長、活躍用戶、留存等指標(biāo)分析。前端數(shù)據(jù)展示項目是 goanalytics-web 。目前正在積極開發(fā)中,歡迎提交新的需求和pull request。
Go版本需要支持module,本地開發(fā)測試
cmd/goanalytics_kafka 和 goanalytics_rmq 是分別基于 kafka 和 rocketmq 的發(fā)布訂閱功能做的數(shù)據(jù)發(fā)布
和訂閱處理,橫向擴(kuò)展能力比 local 高。另外由于 rocketmq 還沒有原生基于 go 的客戶端(原生客戶端正在開發(fā)中
2.0.0 road map ),可能會存在問題。
項目結(jié)構(gòu)
├── README.md
├── api
│ ├── authentication 用戶認(rèn)證、管理API
│ ├── middlewares GIN 中間件
│ └── router API route
├── cmd
│ ├── account 生成admin賬號命令
│ ├── analytic_local 不依賴消息系統(tǒng)的goanalytics
│ ├── goanalytics_kafka 基于kafak的goanalytics
│ ├── goanalytics_rmq 基于rocketmq的goanalytics
│ └── test_data 生成測試數(shù)據(jù)命令
├── common
│ └── data.go
├── conf 配置
│ └── conf.go
├── event
│ ├── codec 數(shù)據(jù)編解碼
│ └── pubsub 消息發(fā)布訂閱
├── go.mod
├── go.sum
├── metric 所有的統(tǒng)計指標(biāo)在這里實現(xiàn)
│ ├── init.go
│ └── user 用戶相關(guān)指標(biāo)的實現(xiàn)
├── schedule
│ └── schedule.go 定時任務(wù)調(diào)度
├── storage 存儲模塊
│ ├── counter.go 計數(shù)器接口
│ ├── data.go
│ └── mongodb 基于mongodb實現(xiàn)的存儲及計數(shù)器
└── utils
├── date.go
├── date_test.go
├── errors.go
└── key.go
請自行查看我前面寫得GO語言開發(fā)環(huán)境和GO語言IDE編輯器的經(jīng)驗文章
我們先寫一段GO代碼
很簡單就是打印輸出一個hello world!
保存為print.go文件
然后再CMD下一路cd到print.go目錄下來
在cmd下運行 go run print.go就可以運行g(shù)o程序了
看看運行結(jié)果
GO程序的代碼是可以直接編譯成exe文件的
在print.go目錄下運行 go build print.go即可把go程序編譯成exe文件
完成之后看看exe文件是否存在
最好我們要看看運行exe的效果
golang在近些年被追捧,不管某華,某阿在很多服務(wù)器開發(fā)上都在使用。
你不用懷疑golang的
優(yōu)勢:部署簡單,良好的語言設(shè)計,并發(fā)性好,性能優(yōu)良,開發(fā)簡潔快,標(biāo)準(zhǔn)庫強(qiáng)大,編譯簡單
缺點:還存在一些缺陷(例如垃圾回收),缺少安全檢查,性能方面目前比不過java,第三方庫不及java
但作為新興語種,我們不用擔(dān)心,背后有谷歌支持和java持平也就是時間上的問題。
而且前面還有某華,某阿頂著不怕。
分享名稱:go語言后臺統(tǒng)計 go語言 cgo
URL網(wǎng)址:http://m.newbst.com/article30/dogppso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、做網(wǎng)站、網(wǎng)站導(dǎo)航、App開發(fā)、手機(jī)網(wǎng)站建設(shè)、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)