如何分析ApachePulsar的分層存儲

這篇文章將為大家詳細講解有關(guān)如何分析Apache Pulsar的分層存儲,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

10年積累的網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有南樂免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

如何分析Apache Pulsar的分層存儲

在一些流數(shù)據(jù)用例場景中,用戶希望將數(shù)據(jù)長時間存儲在流中。雖然 Apache Pulsar 對 topic backlog 的大小沒有限制,但將所有數(shù)據(jù)存儲在 Pulsar 中較長時間,存儲成本比較大。

下面介紹了 Apache Pulsar 的分層存儲特性(在 2.1 及之后的版本可用),分層存儲支持在不影響終端用戶的條件下,將較舊的數(shù)據(jù)移動到長期存儲中。

在推薦服務(wù)中,開發(fā)者不希望限制 backlog 的大小。以音樂服務(wù)為例,終端用戶每聽一首歌,就向 topic 中添加一條消息。使用這一 topic 訓(xùn)練推薦算法,根據(jù)終端用戶聽過的音樂推薦用戶可能喜歡的音樂。然后,將計算結(jié)果推薦給用戶,再循環(huán)這個過程。

如何分析Apache Pulsar的分層存儲

推薦算法并非一成不變。音樂服務(wù)的數(shù)據(jù)科學(xué)家一直在不斷優(yōu)化推薦算法,以更好地預(yù)測用戶喜歡的音樂,從而提高用戶對推薦服務(wù)的滿意度和參與度。

但是,如果每次修改算法時,都只運行修改時間點之后的用戶數(shù)據(jù),不僅預(yù)測的準確度會受到影響,判斷算法的修改效果也會需要一段較長的時間。為了解決這一問題,算法需要盡可能多地運行用戶歷史數(shù)據(jù)。

Pulsar 允許用戶存儲任意大小的 topic backlog。當集群將要耗盡空間時,用戶只需添加新的存儲節(jié)點,系統(tǒng)將會自動重新平衡數(shù)據(jù)。但是,這樣的操作運行一段時間后,運維成本十分昂貴。

Pulsar 通過提供分層存儲(Apache Pulsar 2.1 起新增的特性)減少了成本/大小的損失。分層存儲為用戶提供大小不受限制的 backlog,且無需添加存儲節(jié)點;卸載較舊的 topic 數(shù)據(jù)到長期存儲中,長期存儲的成本比在 Pulsar 集群中存儲的成本低一個數(shù)量級。對于終端用戶來說,消費存儲在 Pulsar 集群或分層存儲中的 topic 數(shù)據(jù)沒有明顯差別。位于 Pulsar 集群和分層存儲中的 topic 生產(chǎn)和消費消息的方式也完全相同。

Pulsar 通過分片架構(gòu)實現(xiàn)了分層存儲。Pulsar topic 的消息日志由一系列分片組成。序列中的最后一個分片是 Pulsar 當前寫入的分片。當前序列之前的所有分片都已封裝,也就是說,這些分片中的數(shù)據(jù)不可變。由于數(shù)據(jù)不可變,因此可以輕易地將數(shù)據(jù)復(fù)制到另一個存儲系統(tǒng),而不必擔心一致性的問題。復(fù)制完成后,可以立即更新消息日志元數(shù)據(jù)中的數(shù)據(jù)指針,并且可以刪除 Pulsar 在 Apache BookKeeper 中存儲的數(shù)據(jù)副本。

如何分析Apache Pulsar的分層存儲

在 Pulsar 中使用分層存儲

Pulsar 目前支持通過 Amazon S3、GCS(Google Cloud Storage)、Filesystem 進行長期存儲。要使用 S3 進行分層存儲,管理員需要先在 S3 中創(chuàng)建一個存儲桶(bucket);然后,用存儲桶和創(chuàng)建存儲桶的區(qū)域配置 broker。

managedLedgerOffloadDriver=S3s3ManagedLedgerOffloadRegion=eu-west-3s3ManagedLedgerOffloadBucket=pulsar-topic-offload

用戶不直接在 Pulsar 中配置身份驗證。Pulsar 使用的 `DefaultAWSCredentialsProviderChain` 可以在多個位置查找驗證信息。

配置驗證信息最簡單的方式是在 pulsar-env.sh 中設(shè)置環(huán)境變量。

關(guān)于配置身份驗證方法的更多信息,參閱分層存儲文檔:
http://pulsar.apache.org/docs/en/concepts-tiered-storage/

配置好所有 broker 后,就可以開始使用分層存儲了。可以配置分層存儲的數(shù)據(jù)卸載為自動運行,也可以手動觸發(fā)。

自動遷移數(shù)據(jù)到長期存儲

管理員可以為命名空間設(shè)置大小閾值策略。配置大小閾值策略后,如果命名空間中的任一 topic 在 Pulsar 集群上的數(shù)據(jù)大小超過了閾值,topic 就會卸載分片到長期存儲中,直到 Pulsar 集群上的數(shù)據(jù)大小在閾值之內(nèi)。

例如,當 Pulsar 集群上的數(shù)據(jù)大小超過 1 GB 時,指定命名空間中的 topic 卸載分片,可以使用以下命令:

pulsar-admin namespaces set-offload-threshold --size 1G my-tenant/my-namespace

當命名空間中的任一 topic 超過閾值時,topic 將會移動數(shù)據(jù)至長期存儲,釋放 Pulsar 集群上的存儲空間。

手動卸載

除了配置自動卸載數(shù)據(jù)外,還可以通過 REST 接口或命令行界面在單個 topic 上手動觸發(fā)卸載操作。要通過命令行界面觸發(fā),用戶必須指定在 Pulsar 集群上為 topic 保留的最大數(shù)據(jù)量。如果 Pulsar 集群上的 topic 數(shù)據(jù)大小超過了設(shè)置的閾值,則將此 topic 上的分片移動到長期存儲中,直到 Pulsar 集群上的數(shù)據(jù)大小在閾值之內(nèi)。移動數(shù)據(jù)時,先移動較舊的分片。

pulsar-admin topics offload --size-threshold 10M my-tenant/my-namespace/topic1

關(guān)于如何分析Apache Pulsar的分層存儲就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

本文標題:如何分析ApachePulsar的分層存儲
本文路徑:http://muchs.cn/article32/ispipc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、定制網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、軟件開發(fā)、手機網(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)

網(wǎng)站建設(shè)網(wǎng)站維護公司