今天就跟大家聊聊有關(guān)如何進(jìn)行Pulsar Functions 的深入分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
專注于為中小企業(yè)提供網(wǎng)站建設(shè)、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)芮城免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
Pulsar Functions 簡單介紹
大概運(yùn)行過程就是在 input topic 中接收消息,進(jìn)入 functions 中進(jìn)行運(yùn)算和消息處理,最后輸出到 output topic 中的過程。
Pulsar Functions 可以覆蓋 90% 以上情況的流處理場景。比如:消息過濾、消息路由、消息增強(qiáng)等。更多使用場景可以參考之前發(fā)布的技術(shù)博客:基于 Pulsar Functions 的事件處理設(shè)計(jì)模式
Pulsar Functions 主要分為三大模塊:Instance、Runtime、Function-worker。
在 Runtime 層面主要支持三種形式:thread、process 和外部支持的 Kubernetes。
更多關(guān)于 Pulsar Functions 介紹和基礎(chǔ)層源碼講解,可以參考回放視頻:01:00-13:20 時(shí)間段。
此分享的解析角度,從 functions 內(nèi)部幾個(gè)重要節(jié)點(diǎn)出發(fā)。主要是:如何提交 Pulsar Functions、Functions Worker 如何調(diào)度以及如何運(yùn)行 Pulsar Functions。
在執(zhí)行/創(chuàng)建一個(gè) function 時(shí),需要通過 `FunctionConfig` 的形式暴露給用戶,用戶通過指定 `FunctionConfig` 來進(jìn)行 functions 內(nèi)部操作。
Functions 可以提交到任意 worker,通過相應(yīng)的 Json 文件進(jìn)行相應(yīng) tenant/namespace/name 等輸入/輸出配置的提供。
在配置構(gòu)建完成后,會(huì)有一個(gè) AuthN/AuthZ checks 過程,去檢測在配置 function 過程中是否添加了與「加密」相關(guān)的設(shè)置。之后便會(huì)對 `FunctionConfig` 文件內(nèi)格式以及其他方面進(jìn)行再次核實(shí)。
最終這些 jar 包會(huì)存儲(chǔ)在 BookKeeper 端,方便后續(xù)再次調(diào)用。
此時(shí)完成以上操作后,submission workflow 會(huì)把所有的 functions 提交到 MetaData Topic,并用 map from <FQFN, FunctionMetaData> 格式進(jìn)行記錄。
FQFN 就是 Fully Qualified Function Name,格式就是 tenant、namespace、functions name 三個(gè)字段拼合而成。
FQFN 作為存儲(chǔ)元數(shù)據(jù)的 key,會(huì)把用戶提供的 `FunctionConfig` 字段填充到 Function MetaData 中。圖中的 MetaData Topic Tailer,主要目的是進(jìn)行實(shí)時(shí)監(jiān)測 MetaData Topic,根據(jù)實(shí)時(shí)更新變化寫入等動(dòng)態(tài),進(jìn)行后續(xù)操作。
在 Functions 內(nèi)部沒有真正開始執(zhí)行「創(chuàng)建/更新/刪除」等操作之前,需要進(jìn)行狀態(tài)更新。大體過程為:
復(fù)制當(dāng)前狀態(tài)
進(jìn)行狀態(tài)合并更新
增加當(dāng)前版本數(shù)
將數(shù)據(jù)寫入 MetaData Topic
Tailer 進(jìn)行數(shù)據(jù)讀取和驗(yàn)證
如果沒有沖突,則整個(gè)更新
|| Scheduling workflow
CRUD 操作:創(chuàng)建/更新/刪除
Worker 變動(dòng):如創(chuàng)建新 worker、leadership 發(fā)生變化等
|| Execution Workflow
當(dāng)前標(biāo)題:如何進(jìn)行PulsarFunctions的深入分析
網(wǎng)頁URL:http://aaarwkj.com/article34/gjjcse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、軟件開發(fā)、微信小程序、品牌網(wǎng)站設(shè)計(jì)、ChatGPT、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)