学习笔记Kafka(一)—— Kafka简介
生活随笔
收集整理的這篇文章主要介紹了
学习笔记Kafka(一)—— Kafka简介
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、什么是消息系統
消息系統負責將數據從一個應用程序傳輸到另一個應用程序,因此應用程序可以專注于數據,但不擔心如何共享它。 分布式消息傳遞基于可靠消息隊列的概念。 消息在客戶端應用程序和消息傳遞系統之間異步排隊。 有兩種類型的消息模式可用: 一種是點對點,另一種是發布 - 訂閱(pub-sub)消息系統。
二、Kafka
2.1、Kafka簡介
Apache Kafka是一個分布式發布 - 訂閱消息系統和一個強大的隊列,可以處理大量的數據,并使您能夠將消息從一個端點傳遞到另一個端點。 Kafka適合離線和在線消息消費。 Kafka消息保留在磁盤上,并在群集內復制以防止數據丟失。 Kafka構建在ZooKeeper同步服務之上。 它與Apache Storm和Spark可以非常好地集成,用于實時流式數據分析。
2.2、Kafka特性
- 可靠性 - Kafka是分布式,分區,復制和容錯的。
- 可擴展性 - Kafka消息傳遞系統輕松縮放,無需停機。
- 分布式 - 日志的分區partition (分布)在Kafka集群的服務器上。
- 耐用性 - Kafka使用分布式提交日志,這意味著消息會盡可能快地保留在磁盤上,因此它是持久的。
- 性能 - Kafka對于發布和訂閱消息都具有高吞吐量。 即使存儲了許多TB的消息,它也保持穩定的性能。
2.3、Kafka架構
2.4、Kafka核心概念
2.5、Kafka數據流
對于每一個topic, Kafka集群都會維持一個分區日志。
每個分區都是有序且順序不可變的記錄集,并且不斷地追加到結構化的commit log文件。
分區中的每一個記錄都會分配一個id來表示順序,也叫offset。offset用來唯一的標識分區中每一條記錄。
Kafka 集群保留所有發布的記錄—無論他們是否已被消費—并通過一個可配置的參數——保留期限來控制。
例如,如果保留策略設置為100天(當然不建議大家這樣做),一條記錄發布后100天內,可以隨時被消費,100天后這條記錄會被拋棄并釋放磁盤空間。
總結
以上是生活随笔為你收集整理的学习笔记Kafka(一)—— Kafka简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习笔记Flink(六)—— Flink
- 下一篇: 学习笔记Kafka(二)—— Kafka