rocketmq分布式事務(wù) kafka分布式的情況下,如何保證消息的順序?
kafka分布式的情況下,如何保證消息的順序?Kafka分布式的單位是partition,Kafka保證一個partition內(nèi)的數(shù)據(jù)是有序的,而partition間的數(shù)據(jù)不能保證有序性,而多part
kafka分布式的情況下,如何保證消息的順序?
Kafka分布式的單位是partition,Kafka保證一個partition內(nèi)的數(shù)據(jù)是有序的,而partition間的數(shù)據(jù)不能保證有序性,而多partition的特點使得Kafka可以一定程度上擁有分布式消息傳遞能力。
在業(yè)務(wù)上我們需要將需要嚴(yán)格順序排列的數(shù)據(jù)放置在一個partition上,同時將可以分布式處理的消息放置到其他partition上以保證高性能。
kafka的一致性為什么不替換成raft?
一:更早的起源時間
kafka是2011 年被捐獻給 Apache 基金會,而raft論文是2013年由斯坦福大學(xué)發(fā)表的《In Search of an Understandable Consensus Algorithm》,kafka在raft之前誕生
二:更少的可容錯副本數(shù)量。raft當(dāng)有1/3個節(jié)點數(shù)目不可用時,服務(wù)不可用,kafka中維護的ISR(in-sync-replica),即便副本均不可用,只剩下Leader,也可以對外提供服務(wù)
三:更大的數(shù)據(jù)吞吐量。raft適合強一致性