RH (20) [Avatar] Offline
PDF page 253:
The text states:
... You calculate the shard for our message by using the hash
code of the node identifier and then calculating the remainder when dividing by 100. ...

However, the code calculates the hash of the shopping cart identifier, not the node identifier:
//The ShardId method is used to work out which shard the message should be directed to
public string ShardId(object message)
  var hash = (message as AddItemToCart)?.ShoppingCartId.GetHashCode();
  var shardId = hash % 100;
  return shardId.ToString();