kafka的特性
1.kafka中,寫入一個partion照片中的數據是必定有順序的
2.kafka中一個消費者消費一個partion的數據,消費者取出數據時,也是有順序的數據庫
須要順序的場景
1.數據庫中的binlog
2.一些業務須要,好比但願把某個訂單的數據寫入一個partion線程
爲什麼消息會錯亂
1.因爲消費者消費消息以後,消費以後,有可能交給不少個線程去處理數據(以下圖),這樣就致使數據順序錯亂 blog
解決辦法隊列
爲了保證一個消費者中多個線程去處理時,不會使得消息的順序被打亂,則能夠在消費者中,消息分發至不一樣的線程時,加一個隊列,消費者去作hash分發,將須要放在一塊兒的數據,分發至同一個隊列中,最後多個線程從隊列中取數據,以下圖所示。kafka