<p>The definition of consensus in Hyperledger/Fabric is quite different from traditional consensus protocol such as PBFT. Consensus in Hyperledger/Fabric has wider meaning; Its core consensus architecture is called "Execute-Order-Validate". And unlike PBFT where all the nodes can execute same role, Hyperledger/Fabric separate execution node from ordering node. The consensus that you mentioned is included only in ordering phase, meaning ordering node execute consensus protocol such as Kafka, PBFT.
In short, I think that you misunderstand the difference between consensus in ordering phase and consensus in whole protocol (transaction flow).
For more detail, I recommend <a href="https://arxiv.org/abs/1801.10228" rel="nofollow noreferrer">this paper</a>.</p>
hyperledger supports consensus by design, why do we need another consensus algo in fabric
<p>In hyperledger fabric orderer takes care of replicating blocks through atomic broadcast after endorsing transactions and validating blocks thus achieves consensus.  Then why do we need consensus algorithms such as kafka, pbft etc to be integrated with hyperledger fabric. </p>