中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

新疆所有的網(wǎng)站百度知道客服

新疆所有的網(wǎng)站,百度知道客服,專業(yè)做公司網(wǎng)站,如何做資源論壇網(wǎng)站1、Kafka是何如做到高性能的? a、消息批處理減少網(wǎng)絡(luò)通信開銷,提升系統(tǒng)吞吐能力(先攢一波,消息以“批”為單位進(jìn)行處理) 生產(chǎn)端:無(wú)論是同步發(fā)送還是異步發(fā)送,Kafka都不會(huì)立即就把這條消息發(fā)送出…

1、Kafka是何如做到高性能的?

a、消息批處理減少網(wǎng)絡(luò)通信開銷,提升系統(tǒng)吞吐能力(先攢一波,消息以“批”為單位進(jìn)行處理)

生產(chǎn)端:無(wú)論是同步發(fā)送還是異步發(fā)送,Kafka都不會(huì)立即就把這條消息發(fā)送出去。而是先把這條消息存放在內(nèi)存中緩存起來(lái),然后選擇合適的時(shí)機(jī)把緩存中的所有消息成批的一次性發(fā)給Broker

Broker:整個(gè)處理流程中,無(wú)論是寫入磁盤、從磁盤讀出來(lái)、還是復(fù)制到其他副本,批消息都不會(huì)被解開,一直是作為一條“批消息”來(lái)進(jìn)行處理

消費(fèi)端:消息同樣以批為單位進(jìn)行傳遞,Consumer 從 Broker拉到一批消息后,在客戶端進(jìn)行批消息解開,再一條一條交給用戶代碼處理

構(gòu)建批消息和解開批消息分別在發(fā)送端和消費(fèi)端的客戶端完成,不僅減輕了 Broker 的壓力,最重要的是減少了 Broker 處理請(qǐng)求的次數(shù),提升了總體的處理能力。

b、順序讀寫減少尋址次數(shù),提升磁盤 IO 性能?

????????基于磁盤文件高性能順序讀寫的特性來(lái)設(shè)計(jì)的存儲(chǔ)結(jié)構(gòu) ,順序讀寫相比于隨機(jī)讀寫省去了很多尋址時(shí)間,它只要尋址一次,就可以連續(xù)地進(jìn)行讀寫,所以性能要比隨機(jī)讀寫要好很多(固態(tài)硬盤順序讀寫的性能比隨機(jī)讀寫快幾倍、機(jī)械硬盤差距會(huì)達(dá)到幾十倍)

c、利用PageCache 加速消息讀寫,減少 IO開銷

????????程序在調(diào)用系統(tǒng)的API進(jìn)行讀寫文件時(shí),實(shí)際操作的都是 PageCache(文件在內(nèi)存中緩存的副本)并不會(huì)直接去讀寫磁盤上的文件,大部分情況下,消費(fèi)讀消息都會(huì)命中 PageCache,一個(gè)是讀取的速度會(huì)非???#xff0c;另外一個(gè)是,給寫入消息讓出磁盤的 IO 資源,間接也提升了寫入的性能。

????????根據(jù)局部性原理,通常剛被訪問(wèn)的數(shù)據(jù)在短時(shí)間內(nèi)再次被訪問(wèn)的概率很高,PageCache用來(lái)緩存最近被訪問(wèn)的數(shù)據(jù),當(dāng)空間不足時(shí)淘汰最久未被訪問(wèn)的緩存,所以讀磁盤數(shù)據(jù)的時(shí),優(yōu)先在 PageCache查找,如果數(shù)據(jù)存在則可以直接返回;如果沒(méi)有再?gòu)拇疟P中讀取,然后緩存PageCache中(消息隊(duì)列的場(chǎng)景一般都是發(fā)送即接收,PageCache利用率很高

????????缺點(diǎn):在傳輸大文件(GB 級(jí)別的文件)時(shí),PageCache會(huì)不起作用,浪費(fèi)一次數(shù)據(jù)拷貝,造成性能下降,即使使用了 PageCache 的零拷貝也會(huì)損失性能?


????????PageCache(磁盤高速緩存):操作系統(tǒng)在內(nèi)存中給磁盤上文件建立的緩存

d、使用零拷貝(ZeroCopy)減少數(shù)據(jù)拷貝開銷

borker中消息的消費(fèi)流程:從文件中找到消息數(shù)據(jù)讀到內(nèi)存中;然后把消息通過(guò)網(wǎng)絡(luò)發(fā)給客戶端

  1. 從文件復(fù)制數(shù)據(jù)到 PageCache 中,如果命中 PageCache,可以省掉;
  2. 從 PageCache 復(fù)制到應(yīng)用程序的內(nèi)存空間中,也就是我們可以操作的對(duì)象所在的內(nèi)存;
  3. 從應(yīng)用程序的內(nèi)存空間復(fù)制到 Socket 的緩沖區(qū),這個(gè)過(guò)程就是我們調(diào)用網(wǎng)絡(luò)應(yīng)用框架的 API 發(fā)送數(shù)據(jù)的過(guò)程。

????????Kafka 使用零拷貝技術(shù)可以把這個(gè)復(fù)制次數(shù)減少一次,上面的 2、3 步驟兩次復(fù)制合并成一次復(fù)制。直接從 PageCache 中把數(shù)據(jù)復(fù)制到 Socket 緩沖區(qū)中,這樣不僅減少一次數(shù)據(jù)復(fù)制,更重要的是,由于不用把數(shù)據(jù)復(fù)制到用戶內(nèi)存空間,DMA 控制器可以直接完成數(shù)據(jù)復(fù)制,不需要 CPU 參與,速度更快

擴(kuò)展:在Unix-like操作系統(tǒng)中 mmap/sendfile 用于實(shí)現(xiàn)零拷貝

mmap:允許將一個(gè)文件映射到進(jìn)程的地址空間中,使得文件的內(nèi)容可以直接通過(guò)內(nèi)存訪問(wèn),而無(wú)需通過(guò)讀取和寫入系統(tǒng)調(diào)用。這樣可以實(shí)現(xiàn)零拷貝,因?yàn)閿?shù)據(jù)可以直接從文件映射的內(nèi)存區(qū)域傳輸?shù)骄W(wǎng)絡(luò)或其他設(shè)備,而無(wú)需在用戶空間和內(nèi)核空間之間復(fù)制數(shù)據(jù)。在Java中,可以使用FileChannel的map()方法來(lái)實(shí)現(xiàn)內(nèi)存映射。

sendfile:是一個(gè)系統(tǒng)調(diào)用,允許將一個(gè)文件的內(nèi)容直接從內(nèi)核空間傳輸?shù)搅硪粋€(gè)文件描述符(通常是網(wǎng)絡(luò)套接字)中,無(wú)需在用戶空間和內(nèi)核空間之間復(fù)制數(shù)據(jù)。這可以在發(fā)送文件時(shí)實(shí)現(xiàn)零拷貝,在Java中,可以使用FileChannel的transferTo()方法或transferFrom()方法來(lái)使用sendfile進(jìn)行文件傳輸

e、其他

全異步化的線程模型、高性能的異步網(wǎng)絡(luò)傳輸、自定義的私有傳輸協(xié)議的序列化、反序列化

2、kafka是如何實(shí)現(xiàn)復(fù)制的?

Kafka的復(fù)制基本單位是分區(qū),每個(gè)分區(qū)的幾個(gè)副本之間采用一主多從,構(gòu)成一個(gè)小的復(fù)制集群,Broker 只是這些分區(qū)副本的容器。

Kafka 寫入消息時(shí)采用的是異步復(fù)制方式,消息寫入主節(jié)點(diǎn)之后,并不馬上返回寫入成功,而是等待用戶指定個(gè)數(shù)的副本節(jié)點(diǎn)都復(fù)制成功后再返回。

配置副本節(jié)點(diǎn)數(shù):ISR(In Sync Replicas) 即:保持?jǐn)?shù)據(jù)同步的副本 ;PS:ISR中是包含主節(jié)點(diǎn)的

如果所有的 ISR 節(jié)點(diǎn)都宕機(jī)了,分區(qū)就無(wú)法提供服務(wù)了。也可以選擇配置成讓分區(qū)繼續(xù)提供服務(wù),這樣只要有一個(gè)節(jié)點(diǎn)還活著,就可以提供服務(wù),代價(jià)是無(wú)法保證數(shù)據(jù)一致性,會(huì)丟消息。

高可用:Kafka 采用 ZooKeeper 監(jiān)控每個(gè)分區(qū)的多個(gè)節(jié)點(diǎn),如果發(fā)現(xiàn)某個(gè)分區(qū)的主節(jié)點(diǎn)宕機(jī)了,會(huì)通過(guò) ZooKeeper 選舉方式選出一個(gè)新的主節(jié)點(diǎn),選舉時(shí)會(huì)從所有 ISR 節(jié)點(diǎn)中來(lái)選新的主節(jié)點(diǎn),這樣可以保證數(shù)據(jù)一致性。

http://www.risenshineclean.com/news/45328.html

相關(guān)文章:

  • 一些網(wǎng)站是用什么顏色做的怎么申請(qǐng)建立網(wǎng)站
  • 網(wǎng)站開發(fā)設(shè)計(jì)實(shí)訓(xùn) 報(bào)告蘇州seo關(guān)鍵詞優(yōu)化方法
  • 鹽城有沒(méi)有做網(wǎng)站嗎湖南專業(yè)的關(guān)鍵詞優(yōu)化
  • 鎮(zhèn)江網(wǎng)站制作優(yōu)化老哥們給個(gè)關(guān)鍵詞
  • 怎樣做化妝品公司網(wǎng)站百度產(chǎn)品大全首頁(yè)
  • it運(yùn)維工程師證書湖北seo
  • htm網(wǎng)站模板上海公司網(wǎng)站seo
  • 誰(shuí)教我做啊誰(shuí)會(huì)做網(wǎng)站啊整站排名服務(wù)
  • wordpress 查看訪客站長(zhǎng)工具seo綜合查詢?cè)创a
  • 百度云盤做網(wǎng)站空間百度上怎么打廣告宣傳
  • 紹興市中等專業(yè)學(xué)校網(wǎng)站軟文外鏈代發(fā)
  • 開發(fā)企業(yè)門戶網(wǎng)站友情鏈接賺錢
  • 中組部?jī)蓪W(xué)一做網(wǎng)站如何建網(wǎng)站教程
  • 安徽 網(wǎng)站制作線上推廣平臺(tái)
  • jsp網(wǎng)站建設(shè)期末作業(yè)廣州疫情最新情況
  • 網(wǎng)站建設(shè)5000費(fèi)用運(yùn)營(yíng)網(wǎng)站
  • 長(zhǎng)春網(wǎng)站建設(shè) 信賴吉網(wǎng)傳媒什么是競(jìng)價(jià)推廣
  • wordpress自定義主頁(yè)廣告優(yōu)化師發(fā)展前景
  • 網(wǎng)站做指向是什么意思合肥做網(wǎng)站哪家好
  • 做中學(xué)網(wǎng)站企業(yè)宣傳冊(cè)
  • 買的網(wǎng)站模板怎么做成都seo學(xué)徒
  • 網(wǎng)站建設(shè)和管理河南百度推廣代理商
  • 廣州視頻網(wǎng)站建站公司知識(shí)營(yíng)銷
  • wordpress小程序教程免費(fèi)網(wǎng)站seo
  • 怎么樣建立一個(gè)網(wǎng)站百度一下 你就知道首頁(yè)官網(wǎng)
  • 便宜做網(wǎng)站的公司靠譜嗎國(guó)家免費(fèi)職業(yè)技能培訓(xùn)官網(wǎng)
  • 怎么做網(wǎng)站賺錢的動(dòng)漫網(wǎng)站b站推廣網(wǎng)站2023
  • 如何讓廣域網(wǎng)訪問(wèn)利用公網(wǎng)ip和本地服務(wù)器建設(shè)的網(wǎng)站營(yíng)銷app
  • 網(wǎng)站角色管理系統(tǒng)旅游seo整站優(yōu)化
  • 素材網(wǎng)站下載怎么做競(jìng)價(jià)托管