What are the best practices for building retry logic around network transport failures?
Let's define some terms first so that we have a common language for communication. I'll say that "retry logic" is any automatically applied compensation activity that replays the same messages to either the same or a different destination. Also, I'll say that a "network transport failure" is any delivery or communication failure while attempting to transmit an application message or an infrastructure protocol message. With that out of the way, there are two places where you could attempt to handle transport failures.
Regardless of the location, the retry logic for a network transport failure is going to look fairly similar.
Next time: A Call to SSPI Failed