shard sender into multiple task workers by destination hash

rename Destination::Normal variant

tracing instruments

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk 2024-12-18 03:34:56 +00:00 committed by strawberry
parent 98e6c81e49
commit af3d6a2e37
9 changed files with 275 additions and 95 deletions

View file

@ -1598,6 +1598,15 @@ pub struct Config {
#[serde(default = "default_db_pool_queue_size")]
pub db_pool_queue_size: usize,
/// Number of sender task workers; determines sender parallelism. Default is
/// '0' which means the value is determined internally, likely matching the
/// number of tokio worker-threads or number of cores, etc. Override by
/// setting a non-zero value.
///
/// default: 0
#[serde(default)]
pub sender_workers: usize,
#[serde(flatten)]
#[allow(clippy::zero_sized_map_values)]
// this is a catchall, the map shouldn't be zero at runtime