I think from lines 115-121, it should read like the paragraph below.  The reason is that the idea of *discarding* doesn't make sense without the explanation of the DummyBackendQueue which doesn't happen until the end of the following paragraph.  By reordering, I think this makes a little more sense.

NSQ also has the concept of **ephemeral** channels.  This is a perfect use case for Go's interfaces.
Topics and channels have a struct member declared as a `Backend` *interface* rather than a concrete type. Normal topics and channels use a `DiskQueue` while ephemeral channels stub in a `DummyBackendQueue`, which implements a no-op `Backend`.  Ephemeral channels use this no-op `Backend` and *discard* message overflow (rather than write to disk) and disappear when they no longer have clients subscribed.