鎖屏面試題百日百刷,每個工作日堅持更新面試題。請看到最後就能獲取你想要的,接下來的是今日的面試題: 1.請說明什麼是Apache Kafka? Apache Kafka是由Apache開發的一種發佈訂閱消息系統,它是一個分散式的、分區的和重覆的日誌服務。 2.請說明什麼是傳統的消息傳遞方法? 傳統的 ...
鎖屏面試題百日百刷,每個工作日堅持更新面試題。請看到最後就能獲取你想要的,接下來的是今日的面試題:
1.請說明什麼是Apache Kafka?
Apache Kafka是由Apache開發的一種發佈訂閱消息系統,它是一個分散式的、分區的和重覆的日誌服務。
2.請說明什麼是傳統的消息傳遞方法?
傳統的消息傳遞方法包括兩種:
排隊:在隊列中,一組用戶可以從伺服器中讀取消息,每條消息都發送給其中一個人。
發佈-訂閱:在這個模型中,消息被廣播給所有的用戶。
3.請說明Kafka相對於傳統的消息傳遞方法有什麼優勢?
高性能:單一的Kafka代理可以處理成千上萬的客戶端,每秒處理數兆位元組的讀寫操作,Kafka性能遠超過傳統的ActiveMQ、RabbitMQ等,而且Kafka支持Batch操作;
可擴展:Kafka集群可以透明的擴展,增加新的伺服器進集群;
容錯性: Kafka每個Partition數據會複製到幾台伺服器,當某個Broker失效時,Zookeeper將通知生產者和消費者從而使用其他的Broker;
4.Kafka伺服器能接收到的最大信息是多少?
Kafka伺服器可以接收到的消息的最大大小是1000000位元組。
5.Kafka中的ZooKeeper是什麼?Kafka是否可以脫離ZooKeeper獨立運行?
Zookeeper是一個開放源碼的、高性能的協調服務,它用於Kafka的分散式應用。
不可以,不可能越過Zookeeper直接聯繫Kafka broker,一旦Zookeeper停止工作,它就不能服務客戶端請求。
Zookeeper主要用於在集群中不同節點之間進行通信,在Kafka中,它被用於提交偏移量,因此如果節點在任何情況下都失敗了,它都可以從之前提交的偏移量中獲取,除此之外,它還執行其他活動,如: leader檢測、分散式同步、配置管理、識別新節點何時離開或連接、集群、節點實時狀態等等。
6.解釋Kafka的用戶如何消費信息?
在Kafka中傳遞消息是通過使用sendfile API完成的。它支持將位元組Socket轉移到磁碟,通過內核空間保存副本,併在內核用戶之間調用內核。
7.解釋如何提高遠程用戶的吞吐量?
如果用戶位於與broker不同的數據中心,則可能需要調優Socket緩衝區大小,以對長網路延遲進行攤銷。
全部內容在git上,瞭解更多請點我頭像或到我的主頁去獲得,謝謝