Concept
Every remote call needs a timeout, and only some deserve a retry: idempotent ones, with backoff and a cap. Retries without timeouts or limits turn a slow dependency into an outage of your own.
The tutor works through these with you, in conversation and code. A session ends when you have shown them, not when a video does.
A few lines that show Retries and timeouts doing its job.
var client = RestClient.builder()
.requestFactory(factory(Duration.ofSeconds(2), Duration.ofSeconds(5))) // connect, read
.build();
@Retry(name = "catalog") // resilience4j.retry.instances.catalog:
Price priceOf(String sku) { // max-attempts: 3
... // wait-duration: 200ms
} // enable-exponential-backoff: trueRetrying a POST that is not idempotent. A request that timed out may have succeeded, and the retry creates a second order or charge. Use idempotency keys or retry only safe calls.
Your roadmap puts these before Retries and timeouts, unless you already know them.
Once a session shows you understand Retries and timeouts, it comes back for review. Each review takes a minute and tells the memory model how well you still know it.