這樣的場景你一定不陌生:小王到m記點餐之後,服務員給了他乙個號牌,並讓他在櫃檯桌子前方等待叫號取餐。每個人都按照自己付款拿到的號牌順序排隊等叫號。即使店裡人再多,也不會顯得沒有秩序。
在上述場景中,櫃檯其實就充當了乙個訊息佇列(message queue)。小王等生產者把訂餐的訊息傳送到櫃檯即訊息佇列裡,又從其中取了餐即消費了訊息,可以說這就是訊息佇列的乙個完整走向——訊息被傳送到佇列中,又成功被消費者消費。「訊息佇列」是在訊息的傳輸過程中儲存訊息的容器,佇列的主要目的是提供路由並保證訊息的傳遞。如果傳送訊息時接收者不可用,訊息佇列會保留訊息,直到可以成功地傳遞它。
一般來說,訊息佇列是一種非同步的服務間通訊方式,是分布式系統中重要的元件,主要解決應用耦合,非同步訊息,流量削鋒等問題,實現高效能,高可用,可伸縮和最終一致性架構。使用較多的訊息佇列有activemq、rocketmq、rabbitmq、kafka等。
在訊息佇列的基礎上,穩定可靠的訊息佇列服務——分布式訊息服務應運而生。分布式訊息服務(distributed message service,簡稱dms)是一項基於高可用分布式集群技術的訊息中介軟體服務,提供普通佇列、有序佇列、kafka佇列、activemq、rabbitmq,相容http、tcp、amqp協議,為分布式應用提供低延遲、高併發的非同步通訊機制。其生產和消費訊息的示意圖如下圖所示。
dms自建開源訊息佇列
安全性支援vpc虛擬網路等公有雲安全服務
自行管理設定安全配置,安全防護效果依賴於安全專員水平
運維提供雲審計、雲監控等服務,方便運維
需額外的運維人員,自行研發對應的運維監控系統
穩定集群模式下實現了1個節點冗餘映象,確保資料的可靠性
自行保障
成本具備多種配置可選擇:單機、集群;可按需或包週期進行購買;且公測期間完全免費;使用者可按需選擇具體配置。
成本較高
擴充套件性具備專業的擴容方案
需自行設計並操作擴容方案
效能後端使用華為高效能ecs主機,吞吐量高,效能強勁,集群穩定性也有很好保障
資料可靠性與效能難以兼顧
初學者談初學者學html
這是乙個段落。解釋一下就是 html 與 html 之間的文字是描述網頁。head 與 head 之間的文字是文件的元資料。title 與 之間的文字是文件的標題。body 與 body 之間的文字是可見的頁面內容,是文章的主體部分。h1 與 h1 之間的文字被顯示為乙個大標題。p 與 p 之間的文...
佇列(C 陣列,初學者易懂)
class queue 定義類佇列 include queue.h 先從本檔案開始查詢,用 include勉強也行,但是不推薦 includeusing namespace std queue queue int size 建構函式,動態分配空間給data陣列,初始化變數 queue queue 析...
初學者mysql MySQL初學者使用指南
有很多朋友雖然安裝好了mysql但卻不知如何使用它。在這篇文章中我們就從連線mysql 修改密碼 增加使用者等方面來學習一些mysql的常用命令。一 連線mysql。1 例1 連線到本機上的mysql。首先在開啟dos視窗,然後進入目錄 mysqlbin,再鍵入命令mysql uroot p,回車後...