anchor.diff:  
   ==== ConsensusModule
   
  -The Consensus Module is the key component with Aeron Cluster and ensures the nodes have a consistent copy of the
  +The Consensus Module is the key component in Aeron Cluster and ensures the nodes have a consistent copy of the
   replicated log. The Consensus Module will coordinate with the Archive to persist messages, replicate/ack messages
   to/from other nodes and deliver messages through to the Clustered Services.
   
   ==== ClusteredServiceContainer
   
   This is the service running the developer supplied application logic. There can be one or more clustered services per
  -node. Aeron Cluster provides a container for the application logic. There is a ClusteredService interface that must be
  +node. Aeron Cluster provides a container for the application logic. There is a `ClusteredService` interface that must be
   implemented by the application to receive the events and messages from Cluster.
   
   == Getting Started Aeron Cluster
   
  -Install JDK 8 or JDK 11 and ensure that `$JAVA_HOME` is set and `$JAVA_HOME/bin` is on your `$PATH`.
  +Install JDK 8, 11, or 17 and ensure that `$JAVA_HOME` is set and `$JAVA_HOME/bin` is on your `$PATH`.
   
   The typical way to get started with Aeron in your own application is to use the
   https://search.maven.org/artifact/io.aeron/aeron-all[aeron-all jar]. However, for this tutorial we are going to
  -recommend that you check out the source code from Github.
  +recommend that you check out the source code from GitHub.
   
   [#usingthesource]
   === Using the Source From this Tutorial
  
positive.code: 
  Because Cluster's Consensus Module requires that we write a log file to support the Raft protocol, we need a client for
  the constructed Archive for it to use. As the Consensus Module should always be deployed on the same node as its
  archive, we're going to use the local (IPC) configuration.  It is also worth noting that we haven't changed the
  controlRequestStreamId in our setup.  The defaults in this situation are the most appropriate (from Aeron version 1.33.0
  onwards).
  
  ==== Consensus Module
  
  
negative.code: 
  IMPORTANT: If you look carefully at the `correlationId` values you will notice there are no `SessionMessage` log entries
  for a number of the messages that were sent. This is because when the leader fails some messages sent into the cluster
  can be lost. For this reason it is important for the client to track responses for its messages and provide timeouts to
  the caller if required.
  
  We can restore the failed node back into service:
  
  