成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為何說KubeMQ會是Kafka的替代品?

譯文
開發(fā) 開發(fā)工具 Kafka
現(xiàn)代應(yīng)用是復(fù)雜的,有許多不同的活動部件。即使對于最基本的執(zhí)行中心應(yīng)用程序,前端接口也會觸發(fā)支付處理事務(wù),而支付處理事務(wù)又會觸發(fā)制造和運輸事件。這些服務(wù)需要一種可靠的方式彼此通信,而不管底層網(wǎng)絡(luò)或其他服務(wù)的可用性如何。

【51CTO.com快譯】為了實現(xiàn)這種復(fù)雜的操作,必須有某種類型的服務(wù)“郵局”來跟蹤所有請求和警報。實現(xiàn)這一目標(biāo)的工具便是消息隊列。

消息隊列是一種專門的應(yīng)用程序,它充當(dāng)分布式應(yīng)用程序的不同服務(wù)之間或不同應(yīng)用程序之間的中介。它將應(yīng)用程序服務(wù)彼此分離,確保無論消息接收者是否可用,都會進行處理。消息隊列確保最終成功接收所有消息。

消息隊列的常見用例包括:


  • 不同應(yīng)用程序之間的異步處理。
  • 基于微服務(wù)的應(yīng)用程序,其中不同組件之間的可靠通信至關(guān)重要。
  • 事務(wù)排序和限制。
  • 可以從批處理的簡化效率中受益的數(shù)據(jù)處理操作。
  • 必須可擴展以滿足突然和意外需求變化的應(yīng)用程序。
  • 應(yīng)用程序必須具有足夠的彈性才能從崩潰和意外故障中恢復(fù)。
  • 通過長時間運行的進程限制資源消耗。

消息隊列領(lǐng)域不乏供應(yīng)商。像Amazon Web Services、Microsoft Azure和谷歌cloud這樣的大型云平臺都有自己的產(chǎn)品(AWS Simple Queue Service、Azure的服務(wù)總線和谷歌的Pub/Sub)。也有獨立的通用消息代理,如RabbitMQ、Apache的ActiveMQ和Kafka。

本文介紹了一個名為KubeMQ的現(xiàn)代Kubernetes原生消息隊列,以嘗試讓已經(jīng)在Kubernetes上使用kafka的組織如何從中受益。

什么是Apache Kafka

要了解 KubeMQ 的全部價值,我們首先需要花一些時間來了解 Kafka。Kafka 最初由 LinkedIn 工程師創(chuàng)建,作為跟蹤 LinkedIn 用戶活動的軟件總線。它后來作為開源產(chǎn)品發(fā)布,今天,Kafka 由 Apache 軟件基金會開發(fā)和管理。

Apache 指出,超過 80% 的財富 100 強公司信任并使用 Kafka。盡管是開源的,但眾所周知它是一個高度可擴展的系統(tǒng),可以連接到廣泛的事件生產(chǎn)者和消費者。它可以配置為使用數(shù)據(jù)流執(zhí)行復(fù)雜的功能,即使在有限的網(wǎng)絡(luò)環(huán)境中也能很好地工作。憑借在線用戶社區(qū)中廣泛可用的支持,Kafka 還提供多種商業(yè)產(chǎn)品。例如,AWS 提供托管 Kafka,Confluent 也是如此。

Kafka的局限性

盡管采用率很高,但 Kafka 并不總是作為消息隊列系統(tǒng)的最佳選擇。它具有單體架構(gòu),適用于本地集群或高端多虛擬機設(shè)置。鑒于 Kafka 需要多少內(nèi)存和存儲空間,在獨立工作站上快速啟動多節(jié)點集群以進行測試可能是一項挑戰(zhàn)。

簡而言之,將 Kafka 與你的基礎(chǔ)設(shè)施集成所需的所有復(fù)雜部分成功地整合在一起并不容易。對于基于 Kubernetes 的架構(gòu)尤其如此。

如下圖所示,基于 Kubernetes 的 Kafka 部署有不同的活動部分。除了為基本 Kubernetes 集群配置底層計算、網(wǎng)絡(luò)和存儲基礎(chǔ)設(shè)施(如果你在本地實施),你還需要安裝所有 Kafka 部分并將其與 Helm 等包管理器集成。這些組件可以包括一個協(xié)調(diào)器,如 ZooKeeper 或 Mesos,用于管理 Kafka 的代理和主題。其他需要注意的地方包括依賴、日志、分區(qū)等。如果甚至缺少一個元素或配置錯誤,事情都不會奏效——成功部署 Kafka 并非易事。

???

Kafka on Kubernetes 架構(gòu)

將新的 Kafka 節(jié)點添加到 Kubernetes 集群需要復(fù)雜的手動平衡以保持最佳資源使用。這就是為什么沒有簡單的方法來管理和確保可靠的備份和恢復(fù)策略;對運行在大量節(jié)點上的 Kafka 集群進行防災(zāi)并不容易。與 Kubernetes 集群中的數(shù)據(jù)保存在 pod 之外,并且編排器自動啟動失敗的 pod 不同,Kafka 沒有這樣的原生防故障機制。

最后,對 Kafka/ZooKeeper/Kubernetes 部署的有效監(jiān)控需要第三方工具。

什么是KubeMQ

Kube MQ 是一種消息服務(wù),從頭開始構(gòu)建時就考慮到了 Kubernetes。遵循容器架構(gòu)最佳實踐,KubeMQ 旨在實現(xiàn)無狀態(tài)和短暫的。也就是說,一個 KubeMQ 節(jié)點將在其整個生命周期內(nèi)保持不變、可預(yù)測和可重現(xiàn)。如果需要更改配置,則會關(guān)閉并更換節(jié)點。

這種可重復(fù)性意味著,與 Kafka 不同,KubeMQ 帶有零配置設(shè)置,安裝后無需調(diào)整配置。

KubeMQ 旨在適應(yīng)最廣泛的消息模式。它是一個消息代理和消息隊列,支持以下內(nèi)容:


  • 具有或不具有持久性的 Pub/Sub
  • 請求/回復(fù)(同步、異步)
  • 最多一次交貨
  • 至少一次交付
  • 流媒體模式
  • RPC

相比之下,Kafka 只支持具有持久性和流式傳輸?shù)?Pub/Sub。Kafka 根本不支持 RPC 和請求/回復(fù)模式。

在資源使用方面,KubeMQ 以最小的占用空間勝過 Kafka。KubeMQ docker 容器僅占用 30MB 空間。如此小的占地面積有助于容錯設(shè)置和簡化部署。與 Kafka 不同,將 KubeMQ 添加到本地工作站中的小型開發(fā) Kubernetes 環(huán)境非常簡單。但與此同時,KubeMQ 具有足夠的可擴展性,可以部署在運行在數(shù)百個本地和云托管節(jié)點上的混合環(huán)境中。這種易于部署的核心是kubemqctl,它是KubeMQ的命令行界面工具,類似于 Kubernetes 的 kubectl。

KubeMQ 優(yōu)于 Kafka 的另一個方面是它的速度。Kafka 是用 Java 和 Scala 編寫的,而 KubeMQ 是用 Go 編寫的,確保快速運行。在內(nèi)部基準操作中,KubeMQ 處理 100 萬條消息的速度比 Kafka 快 20%。

回到 KubeMQ 的“免配置”方面,通道是開發(fā)人員唯一需要創(chuàng)建的對象。你可以忘記代理、交換和協(xié)調(diào)器——KubeMQ 的 Raft 代替 ZooKeeper 完成所有這些工作。

從監(jiān)控的角度來看,通過 Prometheus 和 Grafana 的儀表板與 KubeMQ 完全集成,因此你無需手動集成第三方可觀察性工具的額外工作。但是,由于 KubeMQ 與工具的原生集成,你仍然可以使用現(xiàn)有的日志記錄和監(jiān)控解決方案,包括:


  • Fluentd、Elastic 和 Datadog,用于監(jiān)控
  • Loggly,用于記錄
  • Jaeger 和 Open Tracing,用于跟蹤

由于Kafka 不是云原生計算基金會 (CNCF) 環(huán)境的原生部分,因此通常不支持與 CNCF 工具的集成,必須手動配置。

如果配置好,可以通過開源的gRPC遠程過程調(diào)用系統(tǒng)進行連接,其與Kubernetes的卓越兼容性是眾所周知的。Kafka 自己專有的連接機制不一定能提供可比的結(jié)果。

從 Kafka 到 KubeMQ 的透明遷移

除了 KubeMQ 的部署和操作簡單之外,將現(xiàn)有的 Kafka 設(shè)置移植到 KubeMQ 也很簡單。

為此,開發(fā)人員可以從使用 KubeMQ Kafka 連接器開始。KubeMQ 目標(biāo)和源連接器被配置為轉(zhuǎn)換來自 Kafka 的消息。在高層次上,KubeMQ 源連接器作為訂閱者消費來自 Kafka 源主題的消息,將消息轉(zhuǎn)換為 KubeMQ 消息格式,然后將消息發(fā)送到內(nèi)部日志。KubeMQ 目標(biāo)連接器訂閱包含轉(zhuǎn)換消息的輸出日志,然后將消息發(fā)送到 Kafka 中的目標(biāo)主題。高層架構(gòu)如下圖所示:

???

Kafka 與 KubeMQ 的集成

此外,Kafka 支持的任何消息傳遞模式都由 KubeMQ 支持。例如,Kafka 僅支持具有持久性和流的 Pub/Sub。KubeMQ 是一個消息隊列和消息代理,支持 Pub/Sub(有或沒有持久化)請求/回復(fù)(同步、異步)、至少一種交付、流模式和 RPC。因此,從 Kafka 遷移到 KubeMQ 時,無需重構(gòu)應(yīng)用程序代碼并適應(yīng)復(fù)雜的邏輯變化。

最后

對于大多數(shù)工作負載,KubeMQ內(nèi)置的簡單性、輕量級和容器優(yōu)先集成將提供優(yōu)于 Kafka 的性能。此外,所需的幾乎為零的配置將節(jié)省大量的管理和設(shè)置時間。正如我們提到的,遷移很簡單。

KubeMQ 是免費下載的,附帶六個月的免費開發(fā)試用版。如果你使用 OpenShift,可以在 Red Hat Marketplace 中使用 KubeMQ 。它還適用于所有主要云環(huán)境,包括 GCP、AWS、Azure 和 DigitalOcean。

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】


責(zé)任編輯:黃顯東 來源: dzone.com
相關(guān)推薦

2021-10-19 09:00:00

KubeMQKubernetes工具

2011-04-12 09:13:51

OpenIndianaSolaris替代品

2022-08-02 10:45:29

AppFlowyNotion開源

2013-11-19 14:36:38

UbuntuDebianPCLinuxOS

2013-01-28 09:25:54

2020-12-04 09:41:36

C編程語言替換C

2020-02-17 21:35:21

JoplinEvernote開源

2016-09-13 15:50:24

TurtlEvernote開源

2022-11-28 11:35:33

Kubernetes開源工具

2022-12-26 07:40:00

Heroku替代品dynos

2022-02-08 11:45:03

PiniaVuex前端

2018-06-12 16:33:23

GitHub替代品項目

2020-06-09 14:29:24

VS Code代碼編輯器IDE

2020-07-07 09:10:29

VS CodeLinux開源

2023-11-30 08:55:15

LinuxLibreOffic

2012-09-24 09:45:55

Windows 8操作系統(tǒng)

2012-10-30 09:30:49

IaaS基礎(chǔ)架構(gòu)即服務(wù)IaaS案例

2024-01-15 14:19:34

開源ChatGPT

2022-08-15 09:49:28

K8s云原生

2010-02-25 09:14:07

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品成人一区二区三区 | 国户精品久久久久久久久久久不卡 | 日韩 欧美 二区 | 欧美精品video | 黄色成人在线网站 | 国产精品日韩在线观看一区二区 | 欧美精品在线一区 | 精品国模一区二区三区欧美 | 国产精品1区2区 | 羞羞视频在线观看免费观看 | 欧美美女爱爱 | 亚州av | 国产99久久久国产精品 | 一区二区精品电影 | 国产97在线 | 日韩 | 亚洲最大av网站 | www.788.com色淫免费 | 成人国产一区二区三区精品麻豆 | 中文在线日韩 | 91久久国产综合久久 | 国产一区中文字幕 | 国产精品一区二区三区久久久 | 美女在线视频一区二区三区 | 亚洲成人一区二区 | 一级全黄少妇性色生活免费看 | 一区二区三区视频 | 91视频.com| 日韩精品一区二区久久 | 黄色三级免费网站 | 日韩在线看片 | 91看片网 | chengrenzaixian | 在线免费毛片 | 亚洲国产成人精品女人久久久 | 国产成人99久久亚洲综合精品 | 九九热这里 | 日本电影韩国电影免费观看 | 91免费电影| 黄网站在线播放 | 日韩欧美三级 | 色接久久 |