What about rewording the beginning of this sentence:

> Once a client has an `nsqd` instance to connect to (via discovery or manual configuration), it should open a TCP connection…

And I'd also like the end of the sentence reworded or clarified.  The way I initially read it made me think that each topic had its own `address:port` pair to connect to, but I think I understand what you're actually saying:  A separate TCP connection should be made to each `nsqd`'s `address:port` pair for each topic the client wants to consume.  Is that right?  If so, would you mind tweaking the sentence a little bit to make it more clear?