成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

程序員經典面試題,Kafka讀寫硬盤為什么速度還那么快

新聞 Kafka
在今天的很多程序員招聘里,都會要求能夠熟練運用Apache Kafka等至少一種消息隊列,Apache Kafka也是程序員面試里的常客。在大多數人的映象中,寫磁盤都是比較慢的,可是,為什么Apache Kafka在各大MQ性能的評測中,還能夠擊敗眾多對手,取得不錯的成績呢?

 在今天的很多程序員招聘里,都會要求能夠熟練運用Apache Kafka等至少一種消息隊列,Apache Kafka也是程序員面試里的常客。在大多數人的映象中,寫磁盤都是比較慢的,可是,為什么Apache Kafka在各大MQ性能的評測中,還能夠擊敗眾多對手,取得不錯的成績呢?

[[279540]]

 

順序寫磁盤

在我們的生產環境中,為了節約成本,大部分服務器仍然使用機械磁盤,而非固態硬盤。我們知道,機械磁盤讀寫數據,首先需要尋道,將磁頭調整到對應的磁道上,緊接著,會進行旋轉,將磁頭旋轉到對應的位置上,最后才是讀寫數據,尋道跟旋轉,占用了磁盤讀寫的大量時間,所以,Apache Kafka在寫磁盤的時候,大量地使用了追加寫的模式,減少了磁盤尋道與旋轉地時間,從而達到更高的磁盤利用率。

大量使用內存頁

我們知道,即便是順序寫磁盤,磁盤的讀寫速度任然比內存慢慢的多得多,好在操作系統已經幫我們解決這個問題了,在Linux操作系統中,Linux會將磁盤中的一些數據讀取到內存當中,我們稱之為內存頁。當需要讀寫硬盤的時候,都優先在內存頁中進行處理。讀的話大家比較好理解,就是緩存嘛,寫的話如果只寫在緩存沒有落盤不是會形成臟數據么?的確如此,只有當臟頁到達一定比例之后,Linux操作系統才會把數據刷到磁盤當中。在機器發生掉電的時候,的確會出現臟數據。但是,我們更應該使用分布式寫到多臺機器上來從根本上解決這個問題。

并且,寫在內存頁的另外一個好處是減少應用內存的使用,我們都知道Apache Kafka是用Java語言編寫的,不得不避免的便是Java的GC問題,隨著應用內存的增多,垃圾回收的時間會更多,帶來整體性能的下降。

 

零拷貝技術的使用

作為一個消息系統,不可避免的便是消息的拷貝,常規的操作,一條消息,需要從創建者的socket到應用,再到操作系統內核,然后才能落盤。同樣,一條消息發送給消費者也要從磁盤到內核到應用再到接受者的socket,中間經過了多次不是很有必要的拷貝。

在Linux操作系統中,同樣為我們提供了零拷貝技術,零拷貝技術并非真的不用拷貝,而是大大地減少了拷貝次數。舉個例子,原本從磁盤到接收者Socket中,需要見過內核態,又要經過Apache Kafka應用,那么有沒有可能直接越過這兩層狀態,達到更少的拷貝次數呢?Java 的NIO庫,幫我們實現了這一切,借用JavaNIO庫封裝的API,我們可以直接使用Linux操作系統的零拷貝技術,讓系統更快。

 

總結

以上三點,便是Apache Kafka雖然使用了硬盤存儲,但是仍然可以速度很快的原因,當然,除此之外,Apache Kafka還有很多特性讓他很快,如果你有興趣,歡迎大家關注我,共同學習,共同進步。大家的支持是我繼續嘮嗑的動力。

責任編輯:華軒 來源: 今日頭條
相關推薦

2024-07-24 08:38:07

2019-10-18 14:54:04

Kafka寫入磁盤

2020-04-26 09:48:11

MySQL數據庫架構

2021-06-27 22:48:28

Redis數據庫內存

2020-05-06 15:02:58

MySQL數據庫技術

2020-03-18 09:33:47

數據庫程序員數組

2015-06-05 14:15:13

程序員難升職

2020-04-12 22:29:50

程序員MySQL數據

2020-05-11 10:48:01

技術資訊

2012-05-25 10:15:06

Java程序員面試題

2024-10-30 09:42:43

固態硬盤SSD閃存

2020-04-08 10:18:56

MySQL數據庫SQL

2023-06-08 18:25:40

Doris場景查詢

2020-02-06 08:58:09

程序員技術數據庫

2020-07-29 08:06:30

Kafka MQ消息

2020-03-02 17:00:24

程序員數據庫MySQL

2021-06-09 09:32:58

Esbuild 工具前端

2019-10-09 17:22:01

算法數據結構程序員

2019-09-20 14:25:21

程序員Google人生第一份工作

2024-02-26 21:15:20

Kafka緩存參數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品久久久av | 成人深夜小视频 | 久久久毛片 | 国产精品高潮呻吟久久 | 国产乱码精品一区二区三区中文 | 欧美一级三级在线观看 | 欧美一区二区三区小说 | 国产免费一级片 | 日日夜夜草 | 国产有码 | 精品av | 国产粉嫩尤物极品99综合精品 | 日韩欧美一区二区三区 | 久久精品99久久 | 色婷婷综合久久久中字幕精品久久 | 嫩草视频在线免费观看 | sese视频在线观看 | 午夜视频免费网站 | 91亚洲国产成人久久精品网站 | 亚洲免费网站 | 成人国产精品入口免费视频 | 久久久久久久久久爱 | www国产精 | 欧美一区二区大片 | 日韩精品一区二区三区在线播放 | 日韩中文字幕 | 精品欧美一区二区精品久久久 | 免费观看一级特黄欧美大片 | 久久久精 | 欧美成人一区二区 | 亚洲精品在线免费 | 97精品一区二区 | 国产美女在线看 | 91视频在线看 | 天堂中文资源在线 | 国产精品99精品久久免费 | 亚洲一二三在线观看 | 日本一道本 | 国产精品成人国产乱 | 国产三级电影网站 | 国产福利网站 |