91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

消息隊列之kafka(基礎介紹)

發布時間:2020-07-17 01:45:30 來源:網絡 閱讀:535 作者:原生zzy 欄目:大數據

消息隊列之kafka(基礎介紹)

一、關于JMS

1. JMS 的基礎

??JMS是Java提供的一套技術規范。即Java消息服務(Java message service)。應用程序接口。是一個Java平臺中關于面向消息中間件的API。用于在兩個應用程序之間或者分布式系統中發送消息,進行異步通信。Java消息服務是一個與具體平臺無關的API。
??用來異構系統集成通信,緩解系統瓶頸。 提高系統的伸縮性、增強系統用戶體驗。使得系統模塊化和組件化變得可行并更加靈活。
JAVA2EE十三大規范:https://blog.csdn.net/qq_41637061/article/details/84640947

2. JMS消息傳輸模型

(1)點對點

??點對點模型通常是一個基于拉取或者輪詢的消息傳送模型,這種模型從隊列中請求信息,而不是將消息推送到客戶端。這個模型的特點是發送到隊列的消息被一個且只有接受者接受處理,即使有多個消息監聽者也是如此。總的來說就是:一對一,消費者主動拉取數據,消息收到后消息清除


消息隊列之kafka(基礎介紹)


(2) 發布/訂閱模式

??發布訂閱模型則是一個基于推送的消息傳送模型。發布訂閱模型可以有多種不同的訂閱者,臨時訂閱者只在主動監聽主題時才接收消息,而持久訂閱者則監聽主題的所有消息,即時當 前訂閱者不可用,處于離線狀態。
消息隊列之kafka(基礎介紹)

3.JMS 核心組件

消息隊列之kafka(基礎介紹)
Destination:消息發送的目的地,也就是前面說的Queue 和 Topic。
Message:從字面上就可以看出來是被發送的消息。
Producer:消息的生產者,發送一個消息,必須通過這個產生者來發送。
MessageConsumer:與生產者相對應,這是消息的消費者或接收者,通過它來接收一個消息。
? 其中 message有分為很多種類:
??StreamMessage:Java 數據流消息,用標準流操作來順序的填充和讀取。
??MapMessage:一個 Map 類型的消息;名稱為 string 類型,而值為 Java 的基本類型。
??TextMessage:普通字符串消息,包含一個 String。
??ObjectMessage:二進制數組消息,包含一個 byte[]。
??XMLMessage:一個 XML 類型的消息。
? 其中最常用的就是TextMessage 和 ObjectMessage。

4.常見的消息隊列服務

(1) ActiveMQ

? ActiveMQ 是 Apache 出品,最流行的,能力強勁的開源消息總線。ActiveMQ 是一個完全支 持 JMS1.1 和 J2EE 1.4 規范的。
? 特點:
??? ? - 生產者、服務器和消費者都可分布
??? ? - 消息存儲順序寫
??? ? - 性能極高,吞吐量大
??? ? - 支持消息順序
??? ? - 客戶端 pull,隨機讀,利用 sendfile 系統調用,zero-copy ,批量拉數據
??? ? - 支持消費端事務
??? ? - 支持消息廣播模式
??? ? - 支持異步發送消息
??? ? - 支持 http 協議
??? ? - 數據遷移、擴容對用戶透明
??? ? - 支持同步和異步復制兩種 HA

(2) RocketMQ

?RocketMQ 是一款分布式、隊列模型的消息中間件
? 特點:
??? ? - 能夠保證嚴格的消息順序
??? ? - 提供豐富的消息拉取模式
??? ? - 高效的訂閱者水平擴展能力
??? ? - 實時的消息訂閱機制
??? ? - 億級消息堆積能力

二、kafka的基礎介紹

1. Kafka 的介紹

?? kafak是一種分布式的,基于發布/訂閱的消息系統。以時間復雜度為O(1)的方式提供消息持久化能力,即使對TB級以上數據也能保證常數時間復雜度的訪問性能。 高吞吐率。即使在非常廉價的商用機器上也能做到單機支持每秒100K條以上消息的傳輸。支持Kafka Server間的消息分區,及分布式消費,同時保證每個Partition內的消息順序傳輸。同時支持離線數據處理(hive、HBASE)和實時數據處理(spark、storm)。

2.kafka的優勢

?? - 解耦:允許獨立的擴展或者修改兩邊的處理過程,只要確保他們遵循同樣的接口約束。
?? - 冗余:消息隊列把數 據進行持久化直到它們已經被完全處理,通過這一方式規避了數據丟失風險。直到保存到使用完畢。
?? - 擴展性:增大消息入隊和處理的頻率是很容易
?? - 靈活性&峰值處理能力:消息隊列能夠 使關鍵組件頂住突發的訪問壓力,而不會因為突發的超負荷的請求而完全崩潰。
?? - 可恢復性:系統的一部分組件失效時,不會影響到整個系統。
?? - 順序保證:Kafka 保證一個 Partition 內的消息的有序性。
?? - 緩沖:消息隊列通過一個緩沖層來幫助任務最高效率的執行。寫入隊列的處理 會盡可能的快速。該緩沖有助于控制和優化數據流經過系統的速度。
?? - 異步通信:消息隊列提供了異步處理機制,允許用戶把一個消息放入隊列,但并不立即處理它。(想放多少放多少,需要的時候在處理)

3.kafka的特性

?? - 高吞吐、低延遲:kafka 每秒可以處理幾十萬條消息,它的延遲最低只有幾毫秒。
?? - 可擴展性:kafka 集群支持熱擴展
?? - 可靠性:消息被持久化到本地磁盤,并且支持數據備份防止數據丟失
?? - 容錯性:允許集群中節點失敗
?? - 高并發:支持數千個客戶端同時讀寫

4.kafka的應用場景

?? 經典架構:Flume + Kafka + Storm /spark streaming+ Redis
?? 應用場景:消息系統、跟蹤網站活動、運營指標、日志聚合、流處理、采集日志、提交日志。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

门源| 浙江省| 延吉市| 兴化市| 南充市| 河曲县| 白山市| 南阳市| 孙吴县| 财经| 丹寨县| 昆明市| 淅川县| 阿鲁科尔沁旗| 雅安市| 绥芬河市| 邯郸县| 茶陵县| 枞阳县| 江城| 贵溪市| 博客| 常熟市| 清新县| 青海省| 龙口市| 绵竹市| 凤山县| 南雄市| 靖远县| 吴旗县| 柳林县| 江源县| 合水县| 阜宁县| 金平| 都匀市| 收藏| 商水县| 民乐县| 德庆县|