perf(gateway): scale request hot paths for 20k streams

Shard and singleflight hot-path caches, batch and prioritize candidate and usage lifecycle persistence, and extend database and pressure-test instrumentation for 20k concurrent streams.
This commit is contained in:
elky
2026-07-22 02:11:08 +08:00
parent 7756c0913f
commit fc92c4f431
124 changed files with 36325 additions and 3217 deletions
@@ -17,10 +17,10 @@ use super::{
OAuthProviderWriteRepository, PoolMemberScoreWriteRepository, PoolScoreReadRepository,
ProviderCatalogReadRepository, ProviderCatalogWriteRepository, ProviderQuotaReadRepository,
ProviderQuotaWriteRepository, ProxyNodeReadRepository, ProxyNodeWriteRepository,
RequestCandidateReadRepository, RequestCandidateWriteRepository, SettlementWriteRepository,
StoredSystemConfigEntry, StoredUserPreferenceRecord, UsageReadRepository, UsageWriteRepository,
UserReadRepository, VideoTaskReadRepository, VideoTaskWriteRepository, WalletReadRepository,
WalletWriteRepository,
RequestCandidateReadRepository, RequestCandidateWriteRepository, RoutingGroupReadRepository,
RoutingGroupWriteRepository, SettlementWriteRepository, StoredSystemConfigEntry,
StoredUserPreferenceRecord, UsageReadRepository, UsageWriteRepository, UserReadRepository,
VideoTaskReadRepository, VideoTaskWriteRepository, WalletReadRepository, WalletWriteRepository,
};
mod announcements;
@@ -867,6 +867,16 @@ impl GatewayDataState {
self
}
#[cfg(test)]
pub(crate) fn with_routing_group_repository_for_tests<T>(mut self, repository: Arc<T>) -> Self
where
T: RoutingGroupReadRepository + RoutingGroupWriteRepository + 'static,
{
self.routing_group_reader = Some(repository.clone());
self.routing_group_writer = Some(repository);
self
}
#[cfg(test)]
pub(crate) fn with_auth_api_key_reader(
mut self,