mirror of
https://github.com/tower-rs/tower.git
synced 2026-01-06 00:31:32 +00:00
The tower-balance crate includes the `Load` and `Instrument` traits, which are likely useful outside of balancers; and certainly have no tight coupling with any specific balancer implementation. This change extracts these protocol-agnostic traits into a dedicated crate. The `Load` trait includes a latency-aware _PeakEWMA_ load strategy as well as a simple _PendingRequests_ strategy for latency-agnostic applications. The `Instrument` trait is used by both of these strategies to track in-flight requests without knowing protocol details. It is expected that protocol-specific crates will provide, for instance, HTTP time-to-first-byte latency strategies. A default `NoInstrument` implementation tracks the a request until its response future is satisfied. This crate should only be published once tower-balance is published. Part of https://github.com/tower-rs/tower/issues/286
14 lines
338 B
Markdown
14 lines
338 B
Markdown
# Tower Load
|
|
|
|
Provides strategies for measuring a service's load.
|
|
|
|
## License
|
|
|
|
This project is licensed under the [MIT license](LICENSE).
|
|
|
|
### Contribution
|
|
|
|
Unless you explicitly state otherwise, any contribution intentionally submitted
|
|
for inclusion in Tower by you, shall be licensed as MIT, without any additional
|
|
terms or conditions.
|