這裏的順序指的是數據寫入的數據,並不是數據發送的順序。
紅色爲:leader。青色爲:follower。黑色爲:宕機。黃色爲:恢復。
比如:
- 數據1 寫入 partition1,partition2,partition3。完成提交
- 數據2進行寫操作,leader寫入後宕機(還有沒對副本進行同步),數據2 進行retry。
- 此時partition2已經變更爲leader。
- 寫入數據3成功(partition2,partition3同步完成)。
- partition1嘗試恢復。
- partition1恢復成功,需要從同步成功的offset起,truncate所有數據。
- partition1與leader進行同步。
- 數據2 retry成功。此時的數據的順序就是132。
所以這裏的順序不是數據發送順序。