本篇內(nèi)容介紹了“Kafka是怎么保證分區(qū)有序的”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)達(dá)孜免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
Kafka只能保證分區(qū)有序,
如果只有一個分區(qū),
那也是變向的全局有序
通過配置 max.in.flight.requests.per.connection = 1
這個配置是 生產(chǎn)者 往 服務(wù)度 發(fā)送數(shù)據(jù)的請求數(shù),
配置為1,則一次只能發(fā)送1個請求,
如果失敗繼續(xù)重試,知道成功,
才會進(jìn)行下一個請求的發(fā)送,
這樣就保證了消息的有序性,
但是相對性能就大大降低了。
通過生產(chǎn)者冪等特性
冪等的保證是需要給每條消息加一個 Seqnum的,
也就是每個消息都有自己的序號,
服務(wù)端對于比當(dāng)前最新的Seqnum大于1的消息,
是會拒絕的,
所以也可以保證消息的順序性
“Kafka是怎么保證分區(qū)有序的”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!