背景介紹
騰訊云 Serverless 云函式是下一代通用計算平臺,提供安全穩定、高效易用的低成本無服務器運行環境,隨著 Kafka 社區的繁榮,越來越多的用戶開始使用 Kafka 來做日志收集、大資料分析、流式資料處理等,而公有云上的產品 Ckafka 也借助了開源社區的力量,做了很多優化:
- 基于 ApacheKafka 的分布式、高可擴展、高吞吐
- 100% 兼容 Apache KafkaAPI(0.9 及 0.10)
- 無需部署,直接使用 Kafka 所有功能
- Ckafka 封裝所有集群細節,無需用戶運維
- 支持動態升降實體配置,按照需求付費(開發中)
- 對訊息引擎優化,性能比社區最高提升 50%
同時,在公有云上,云函式也和 CKafka 做了深度聯動,并推出了很多非常實用的功能,
運行原理
如下圖,云函式可以實時消費 Ckafka 中的訊息,比如做資料轉存、日志清洗、實時消費等,并且,像資料轉存的功能已經集成到了 Ckafka 的控制臺上,用戶可以一鍵開啟使用,大大降低了用戶使用的復雜度,

方案優勢
對比使用云主機自建 Ckafka Consumer 的方式,云函式幫用戶屏蔽掉了很多不必要的開銷:
- 云函式控制臺上可以一鍵開啟Ckafka觸發器,幫助用戶自動創建 Consumer,并由云函式平臺來維護組建的高可用;
- Ckafka 觸發器自身支持很多實用的配置:支持配置 offset 位置、支持配置1~1萬訊息聚合條數、支持配置 1~1萬次重試次數等;
- 基于云函式開發的業務邏輯,天然支持彈性伸縮,無需額外搭建和維護服務器集群等,
常用場景
如下圖所示,借助云函式和 Ckafka 觸發器,可以非常方便實作 CKafka 訊息轉存到 COS、ES、DB等,那本次也會借助云函式來替代 Logstash,實作 Ckafka 訊息羅盤 ES,
和使用 CVM 自建 Logstash 對比,云函式有以下優勢:
- 云函式自帶 Consumer 組件,可自行聚合;
- 云函式的模板函式已經實作了訊息聚合和部分清洗能力,還可自行擴展;
- 云函式集群自帶高可用和監控日志能力,業務上線速度更快;
- 云函式采用按實際使用收費,比自建集群費用更優,可以節省 50% 的費用,

部署流程
前置條件(以廣州地域為例):
- 開啟 Elasticsearch 服務
- 開啟 Ckafka 服務
1. 創建云函式
登錄云函式控制臺,選擇地域后,新建函式,選擇運行環境 Python3.6,搜索「Ckafka」,選中模板函式后,下一步,

在下一步中,點開高級設定:配置環境變數,如下:
必填引數:ES_Address, ES_User, ES_Password, ES_Index_KeyWord
可選填入:
ES_Log_IgnoreWord(需要洗掉的關鍵詞,預設則全量寫入,如填name,password)ES_Index_TimeFormat(按照天或者小時設定 Index,預設則按照天建立索引,如填hour)

在高級設定中,配置私有網路,需要選擇和 ES 相同 VPC,完成函式創建,

2. 創建 Ckafka 觸發器
在函式的【觸發管理】頁面,創建觸發器,配置對應 Topic 的觸發方式,提交后即可生效,

3. 查看 ES 和函式運行日志
查看函式運行日志

查看 Kibana

擴展能力介紹
如果想要實作高級日志清洗邏輯,可直接在函式代碼中修改邏輯,

針對函式的運行狀態,可以自行配置監控告警,實時感知業務運行情況,

One More Thing
立即體驗騰訊云 Serverless Demo,領取 Serverless 新用戶禮包 ?? serverless/start
歡迎訪問:Serverless 中文網!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/71937.html
標籤:其他
上一篇:刷機錯誤,求指導
下一篇:神經網路中的推理框架該怎么理解?
