Using a production-grade ordering service
The network we have built and run contracts and service applications on uses an ordering service that runs in solo
mode, as we saw in Chapter 4, Setting the Stage with a Business Scenario. This is a trivial ordering service consisting of a single node that is completely in charge of ordering transactions into blocks. Needless to say, centralizing block creation violates core blockchain principles and therefore cannot be the basis for any production-grade enterprise network that requires a multi-node consensus-based ordering service. And Hyperledger Fabric 2 does support and recommend ordering services built on Raft clusters. (Fabric 1 supported Kafka- and ZooKeeper-based ordering services, though support for Raft was added in 1.4.)
So why did we run our network construction and development exercise on a solo orderer that will never be used in production? There are two reasons. One, we wanted to demonstrate to our readers that all aspects...