本篇內容主要講解“怎么使用MQTT與函數(shù)計算做熱力圖”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么使用MQTT與函數(shù)計算做熱力圖”吧!
十多年的濱城網(wǎng)站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調整濱城建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“濱城網(wǎng)站設計”,“濱城網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
1. 數(shù)據(jù)通道的連接能力:數(shù)據(jù)通道隨著業(yè)務的擴展,機器人的投放也會同步增加,對于數(shù)據(jù)通道有足夠的擴展靈活性,可以按需進行擴展,同時連接的級別能夠支持10W+級別的擴展。
2. 簡潔數(shù)據(jù)清洗的能力:對于數(shù)據(jù)的處理,本質上就是對數(shù)據(jù)的歸納統(tǒng)計,邏輯實現(xiàn)上并不復雜。對于數(shù)據(jù)本身的峰谷變化,能有最簡單有效的匹配擴縮處理能力即可,在清洗上不希望為此引入復雜的傳統(tǒng)大數(shù)據(jù)級別的笨重方案。
3. 彈性數(shù)據(jù)訪問的能力:這里提到的的熱力圖信息,以后會考慮開放給終端用戶訪問,訪問量都是動態(tài)變化的,隨著不同的時間、節(jié)日、突發(fā)事件等都會有不可預知的幅度變化,所以在此業(yè)務中要求有彈性的訪問能力。業(yè)務方不希望通過限流方式來實現(xiàn),因為會對業(yè)務量本身造成影響。
4. 性能優(yōu)越的存儲能力:此場景下,數(shù)據(jù)寫入與讀取并發(fā)量都高,客戶希望使用NOSQL的方式進行存儲。NoSQL 類型能最好支持排序的功能,本文介紹的方案中使用redis,不再做更多的分析介紹。
數(shù)據(jù)通道的連接能力
自建Kafka
優(yōu)點:
Kafka作為通用的數(shù)據(jù)收集信息通道,使用面廣泛,接入方式多樣化。社區(qū)完善,學習成本低。
Kafka本身搭建容易,與下游的大數(shù)據(jù)處理產品協(xié)調方案成熟。
缺點:
動態(tài)處理Kafka的擴容復雜。
需要搭建額外處理集群的穩(wěn)定性配套方案。
外網(wǎng)網(wǎng)絡流量管理需要配合額外的方案。
主流方案是作為連接應用的收集能力,對于終端的連接能力沒有規(guī)模級別的案例驗證。
消息隊列MQTT方案
優(yōu)點:
支持百萬級別的連接,完成可以覆蓋業(yè)務發(fā)展的訴求,為業(yè)務留足了擴展空間。
MQTT的協(xié)議非常簡潔,在端與服務間的傳輸中有優(yōu)勢。支持各種消息觸達的QoS質量。
支持各種客戶端接入實現(xiàn)語言。
可實時觀測客戶端的連接情況,方便發(fā)現(xiàn)異常情況。
缺點:
處理大數(shù)據(jù)的實踐沒有Kafka成熟,下游產品選型受一定的限制。
彈性數(shù)據(jù)清洗的能力
大數(shù)據(jù)方案(Storm、Spark、Flink等)
優(yōu)點:
開源的通用方案,資料眾多,方案成熟。
缺點:
搭建運維復雜,需要提供額外的監(jiān)控與恢復手段。
需要學習接受各種組件方式(下圖是以Storm為例)。
提前評估資源使用情況,無法按照實時數(shù)據(jù)量進行相應的擴縮使用。
函數(shù)計算方案
優(yōu)點:
按需進行擴縮,百毫秒級的伸縮能力,適合數(shù)據(jù)量的脈沖峰谷變化。
不需要進行清洗環(huán)境的管理。
概念簡單,學習成本低。
其它優(yōu)點參考下圖:
缺點:
函數(shù)計算是各個云廠商的產品。要求一定需要在云上運行。
彈性數(shù)據(jù)訪問的能力
傳統(tǒng)應用的方案
優(yōu)點:
作為業(yè)務的一部分嵌在某個應用實現(xiàn)中,技術成熟,學習成本低。
缺點:
需要自實現(xiàn)根據(jù)業(yè)務請求量來進行彈縮處理,或者很多時候采用評估的方式進行資源冗余處理。
API Gateway+函數(shù)計算方案
優(yōu)點:
根據(jù)客戶的請求量實時進行彈縮處理。按需使用,不為高峰時段煩惱,不會閑置付費。
自動附帶專業(yè)的訪問監(jiān)控大盤。
缺點:
需要少量的學習成本。
綜述
在這個熱力圖信息收集清選與訪問業(yè)務中,可以參考使用下圖的解決方案完美實現(xiàn)。
MQTT到函數(shù)計算的介紹
請參考函數(shù)計算的微消息隊列MQTT服務集成方案。
API網(wǎng)關通過函數(shù)計算提取數(shù)據(jù)的介紹
詳情請參考API網(wǎng)關函數(shù)觸發(fā)實例。
以Node.js為例:
module.exports.handler = function(event, context, callback) { var event = JSON.parse(event); var content = { path: event.path, method: event.method, headers: event.headers, queryParameters: event.queryParameters, pathParameters: event.pathParameters, body: event.body // 您可以在這里編寫您自己的邏輯。 // 從Redis提取數(shù)據(jù)的邏輯 } var response = { isBase64Encoded: false, statusCode: '200', headers: { 'x-custom-header': 'header value' }, body: content }; callback(null, response) };
到此,相信大家對“怎么使用MQTT與函數(shù)計算做熱力圖”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!