Analise Stacks 4C Fourc

🔍 Análise: Stacks 4c vs fourc

Data: 2025-12-06
Status: ⚠️ Duplicação Identificada


📊 Situação Atual

Stacks Identificados

Stack Serviços Status Uso
4c 14 serviços ✅ Ativo Em uso (29 requisições/24h)
fourc 14 serviços ✅ Ativo Pouco uso (5 requisições/24h)

Serviços Duplicados (14)

Ambos os stacks têm exatamente os mesmos serviços:

  1. ✅ clickhouse
  2. ✅ decision-api
  3. ✅ executor
  4. ✅ feature-service
  5. ✅ feedback-worker
  6. ✅ kafka
  7. ✅ kafka-connect
  8. ✅ kafka-exporter
  9. ✅ model-trainer
  10. ✅ mysqld-exporter
  11. ✅ redis
  12. ✅ scoring-service
  13. ✅ ui
  14. ✅ zookeeper

🔍 Análise de Uso

Stack 4c (RECOMENDADO MANTER)

Evidências de uso ativo:
- ✅ Rotas Traefik configuradas:
- Host(csuite.internut.com.br) && PathPrefix(/4c/decision)
- Host(csuite.internut.com.br) && PathPrefix(/4c)
- ✅ Tráfego ativo: 29 requisições nas últimas 24h
- ✅ Arquivo de stack: 4c/docker/stack/4c.yml existe e está configurado
- ✅ Integrado ao ecossistema: Rotas no gateway unificado

Stack fourc (CANDIDATO PARA REMOÇÃO)

Evidências de pouco uso:
- ⚠️ Tráfego baixo: Apenas 5 requisições nas últimas 24h (métricas Prometheus)
- ⚠️ Sem rotas Traefik: Não encontrado em configurações do Traefik
- ⚠️ Possível legado: Pode ser uma versão antiga ou de teste


💡 Recomendação

MANTER: Stack 4c

Razões:
1. ✅ Está em uso ativo (rotas Traefik configuradas)
2. ✅ Recebe tráfego real (29 requisições vs 5)
3. ✅ Integrado ao ecossistema (csuite.internut.com.br/4c)
4. ✅ Arquivo de configuração existe e está atualizado

REMOVER: Stack fourc

Razões:
1. ⚠️ Pouco uso (apenas métricas Prometheus)
2. ⚠️ Não está exposto via Traefik
3. ⚠️ Duplicação de recursos (50% de CPU/memória desperdiçada)
4. ⚠️ Complexidade desnecessária (manter 2 stacks idênticos)


🚀 Plano de Ação

Fase 1: Verificação Final (1 hora)

Antes de remover fourc, verificar:

  1. Verificar dependências internas:
    ```bash
    # Buscar referências a "fourc_" no código
    grep -r "fourc_" --include=".py" --include=".yml" .

# Verificar se algum serviço depende de fourc_*
docker service ls | grep -E "depends|links"
```

  1. Verificar volumes e dados:
    ```bash
    # Verificar volumes exclusivos do fourc
    docker volume ls | grep fourc

# Verificar se há dados importantes
docker service inspect fourc_clickhouse --format '{{range .Spec.TaskTemplate.ContainerSpec.Mounts}}{{.Source}} {{end}}'
```

  1. Verificar logs de erro:
    bash # Verificar se há erros relacionados docker service logs fourc_decision-api --tail 100 | grep -i error

Fase 2: Remoção Segura (30 minutos)

Após verificação, remover stack fourc:

# 1. Parar stack fourc
docker stack rm fourc

# 2. Aguardar remoção completa
while docker service ls | grep -q "^fourc_"; do
    echo "Aguardando remoção..."
    sleep 10
done

# 3. Verificar que 4c continua funcionando
curl https://csuite.internut.com.br/4c/decision/health

# 4. Limpar volumes órfãos (se seguro)
docker volume prune -f

Fase 3: Validação (1 hora)

Após remoção, validar:

  1. Health checks funcionando:
    bash curl https://csuite.internut.com.br/4c/decision/health curl https://csuite.internut.com.br/4c/decision/docs

  2. Serviços 4c ativos:
    bash docker service ls | grep "^4c_"

  3. Métricas Prometheus:

  4. Verificar que métricas continuam sendo coletadas
  5. Verificar que não há gaps nos dados

⚠️ Riscos e Mitigações

Riscos Identificados

  1. Serviços internos podem depender de fourc_*
  2. Mitigação: Busca completa no código antes de remover
  3. Rollback: Manter stack fourc por 1 semana após remoção (se necessário)

  4. Dados em volumes exclusivos

  5. Mitigação: Verificar volumes antes de remover
  6. Rollback: Backup de volumes antes de remover

  7. Configurações diferentes não identificadas

  8. Mitigação: Comparar configurações lado a lado
  9. Rollback: Manter configurações como backup

📋 Checklist de Execução

Pré-Remoção

Durante Remoção

Pós-Remoção


📊 Benefícios Esperados

Recursos Liberados

Operação Simplificada


🎯 Conclusão

Recomendação Final:

MANTER 4c (está em uso ativo)
REMOVER fourc (duplicação desnecessária)

Próximo passo: Executar verificação final e remoção segura do stack fourc.


Última atualização: 2025-12-06

🔊 Text-to-Speech

1.0x
1.0
Pronto para reproduzir