Voltar ao PlanoACT-3.1
Separar background workers da API
Medio PrazoMediaEsforco: GComplexidade: Alta
Modulos Impactados
Novo projeto cargo_fleet.Worker (ou cargo_fleet.BackgroundWorker)cargo_fleetHttpApiHostModule.csKubernetes manifests
Passos de Implementacao
- 1Criar novo projeto .NET Worker Service referenciando Application e EntityFrameworkCore
- 2Mover `ProcessarOfertasWorker`, `AtualizarOfertasWorker`, `VerificarRotasWorker`, `RetentionPolicyWorker` para o novo projeto
- 3Remover registro dos workers do `cargo_fleetHttpApiHostModule`
- 4Criar Dockerfile e deployment Kubernetes separado para o worker
- 5Configurar resource limits adequados para cada tipo de workload
- 6Testar que os workers continuam funcionando com distributed locks
Workers executam dentro do processo da API. Escalar a API duplica workers (cada replica processa todos os tenants). Resource limits sao compartilhados
Impossibilidade de escalar API independentemente; workers competem por CPU/memoria com requests HTTP