tower-fallback: add docs

Thanks to @seanmonstar for pointing to the article on the downsides of fallback.
This commit is contained in:
Henry de Valence 2020-07-15 09:30:59 -07:00
parent ecda5445d5
commit e58de06cb0
2 changed files with 13 additions and 4 deletions

1
Cargo.lock generated
View File

@ -2570,6 +2570,7 @@ dependencies = [
"tracing-error",
"tracing-futures",
"zebra-chain",
"zebra-test",
]
[[package]]

View File

@ -1,7 +1,15 @@
/// A service combinator that sends requests to a first service, then retries
/// processing on a second fallback service if the first service errors.
///
/// TODO: similar code exists in linkerd and could be upstreamed into tower
//! A service combinator that sends requests to a first service, then retries
//! processing on a second fallback service if the first service errors.
//!
//! Fallback designs have [a number of downsides][aws-fallback] but may be useful
//! in some cases. For instance, when using batch verification, the `Fallback`
//! wrapper can be used to fall back to individual verification of each item when
//! a batch fails to verify.
//!
//! TODO: compare with similar code in linkerd.
//!
//! [aws-fallback]: https://aws.amazon.com/builders-library/avoiding-fallback-in-distributed-systems/
pub mod future;
mod service;