Search code examples
apache-kafkahyperledger-fabricblockchainhyperledgerraft

Why Hyperledger Fabric use kafka in the first place


I'm doing a research about fabric but something stuck in my mind was why fabric use kafka in the first place? is there any technical reason for the fabric to change to raft beside raft implementation are somewhat simpler? (like some improvement or anything like that, I can't find the reason in jira.hyperledger either). I'm trying to understand how kafka and raft work in fabric but I can't seem to find that in fabric documentation so is it safe to assume that it works like the usual Kafka and raft outside of fabric?


Solution

  • Ordering transactions work in asynchronous mode before committing transactions. Consider using "solo" mode and there will be one single instance and it cannot scale up for transactions, fault tolerant etc.

    Kafka being a highly scalable, fault tolerant, distributed message processing framework. If HLF is deployed within your organization and to handle huge volume of transactions, it is quite challenging to process transactions without these mechanism.

    For more details, please read https://codeburst.io/the-abcs-of-kafka-in-hyperledger-fabric-81e6dc18da56