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

溫馨提示×

溫馨提示×

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

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

大數據kafka常見面試題有哪些

發布時間:2021-12-23 17:49:19 來源:億速云 閱讀:181 作者:iii 欄目:編程語言

本篇內容主要講解“大數據kafka常見面試題有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“大數據kafka常見面試題有哪些”吧!

1、什么是 kafka?

Apache Kafka 是一個開源消息系統,由 Scala 寫成。是由 Apache 軟件基金會開發的一個開源消息系統項目。

Kafka 最初是由 LinkedIn 開發,并于 2011 年初開源。2012 年 10 月從 Apache Incubator 畢業。該項目的目標是為處理實時數據提供一個統一、高通量、低等待的平臺。

Kafka 是一個分布式消息隊列:生產者、消費者的功能。它提供了類似于JMS 的特性,但是在設計實現上完全不同,此外它并不是 JMS 規范的實現。Kafka 對消息保存時根據 Topic 進行歸類,發送消息者稱為 Producer,消息接受者稱為 Consumer,此外 kafka 集群有多個 kafka 實例組成,每個實例(server) 成為 broker。無論是 kafka 集群,還是 producer 和 consumer 都依賴于 zookeeper 集群保存一些 meta 信息,來保證系統可用性

2、kafka 與傳統消息系統的區別

(1)在架構 <http://lib.csdn.net/base/architecture>模型方面

RabbitMQ 遵循 AMQP 協議,RabbitMQ 的 broker 由 Exchange,Binding,queue組成,其中 exchange 和 binding 組成了消息的路由鍵;客戶端 Producer 通過連接channel 和server 進行通信,Consumer 從queue 獲取消息進行消費(長連接,queue有消息會推送到 consumer 端,consumer 循環從輸入流讀取數據)。rabbitMQ 以broker 為中心;有消息的確認機制。

kafka 遵從一般的 MQ 結構,producer,broker,consumer,以 consumer 為中心,消息的消費信息保存的客戶端 consumer 上,consumer 根據消費的點,從broker 上批量 pull 數據;無消息確認機制。

(2)在吞吐量

kafka 具有高的吞吐量,內部采用消息的批量處理,zero-copy 機制,數據的存儲和獲取是本地磁盤順序批量操作,具有 O(1)的復雜度,消息處理的效率很高。

rabbitMQ 在吞吐量方面稍遜于 kafka,他們的出發點不一樣,rabbitMQ 支持對消息的可靠的傳遞,支持事務,不支持批量的操作;基于存儲的可靠性的要求存儲可以采用內存或者硬盤。

(3)在可用性方面

rabbitMQ 支持 miror 的 queue,主 queue 失效,miror queue 接管。kafka 的 broker 支持主備模式。

(4)在集群負載均衡方面

kafka 采用 zookeeper 對集群中的 broker、consumer 進行管理,可以注冊 topic 到 zookeeper 上;通過 zookeeper 的協調機制,producer 保存對應 topic 的 broker 信息,可以隨機或者輪詢發送到 broker 上;并且 producer 可以基于語義指定分片,消息發送到 broker 的某分片上。

(5)kafka 與 activeMQ 的區別

Topic:主題,即一個標識,類似于 map 里面的 key,通過它來給消息分類, 消息根據 Topic 進行歸類。

共同點:都有生產者和消費者兩大組件,生產者發送消息給各自的服務器

(發送消息是就會定義一個 topic)并進行存儲。不同點:

activeMQ:消費者會提前訂閱自己需要的 topic,當該 topic 中有了消息以后,activeMQ 服務器會發送消息給消費者,然后消費者再去服務器中拿到自己想要的數據。

Kafka:消費者(指定 topic)會定時去 kafka 服務器中拿該 topic 中的數據。

(6)kafka 的組件介紹

producer:生產者,主要用于我們的消息的生產,通過 producer 將我們的消息 push 到 kafka 集群當中

topic:某一類消息的高度抽象,可以理解成某一類消息的集合,一類消息,每個topic 將被分成多個 partition(區),在集群的配置文件中配置。broker:kafka 的服務器,一個 broker 就代表一個服務器的節點partition:分區的概念,一個 topic 當中的消息,可以拆分成多個 partition 分區,存放在多個不同的服務器上,實現數據存放的橫向擴展。

repliaction:副本,所有的 partition 都可以指定存放幾個副本,做到數據的冗余,保證數據的安全

segment:每個 partiiton 由多個 segment 組成,segment 又包含了兩部分,一個.log 文件,一個是.index 文件

.log:存放我們的日志文件,所有的數據,最后都以日志文件的形式存放到了 kafka 集群當中

.index :索引文件,所有的.log 文件的索引都存放在了這里,便于我們查找某一條日志文件的快速

consumer:消費者,消費我們 kafka 集群當中的消息, 問題:如何知道消費者消費到了哪一條消息來了??? 可以通過記錄的方式,記下來每次我們消費的位置。

第一種記錄方式:kafka 的本地文件系統,比較慢,對應 kafka 的一個慢速消費的方式

第二種記錄方式:zookeeper 當中的節點數據記錄,比較快,對應 kafka 的一個快速消費的方式

offset:偏移量,就是記錄的我們消費到了哪一條數據來了。

發布者發到某個 topic 的消息會被均勻的分布到多個 part 上,broker 收到發布消息往對應 part 的最后一個 segment 上添加該消息。

3、kafka 集群的安裝與搭建

第一步:下載上傳壓縮包

第二步:解壓

第三步:安裝包的分發第

四步:修改配置文件

第一臺服務器修改配置文件

第二臺服務器修改配置文件第三臺服務器修改配置文件第四步:三臺服務器的啟動三臺服務器的啟動

到此,相信大家對“大數據kafka常見面試題有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

AI

长春市| 西贡区| 临沭县| 井研县| 永寿县| 弥勒县| 宜阳县| 北安市| 贡山| 察哈| 桃江县| 海林市| 丁青县| 五河县| 扎兰屯市| 青海省| 明溪县| 彰化县| 杭州市| 延安市| 平利县| 岚皋县| 斗六市| 天门市| 镇原县| 乃东县| 庆云县| 北安市| 河北区| 运城市| 堆龙德庆县| 泰来县| 合作市| 平原县| 苏尼特左旗| 泽州县| 甘德县| 太谷县| 弥勒县| 澎湖县| 乌海市|