Ir para o conteúdo

Arquitetura do Sistema

O sistema é projetado com uma arquitetura de microsserviços distribuídos, orquestrados com Docker Compose.

  • Servidor Django (secedu-api): Fornece a API REST principal para administração do sistema, gerenciamento de câmeras, cadastros e visualização de dados. Também atua como o ponto de entrada para agendamento de tarefas Celery.

  • Servidor Flask (secedu-face): Uma API dedicada e otimizada para operações de reconhecimento facial de alta performance, utilizando a biblioteca DeepFace.

  • Celery Workers & Beat:

  • secedu-beat-scheduler: Agenda tarefas periódicas.
  • secedu-tasks-workers: Executa tarefas assíncronas definidas no Django.

  • Jobs de Processamento de Rosto (server-jobs-faces): Consumidores RabbitMQ independentes que realizam as etapas do pipeline de reconhecimento facial (extração, embedding, análise) de forma assíncrona e escalável.

  • Broker e Filas (broker-server): RabbitMQ gerencia a comunicação entre os serviços, garantindo que as tarefas de processamento de imagem sejam distribuídas de forma confiável.

  • Banco de Dados e Cache:

  • postgres-server: Banco de dados relacional principal.
  • redis-server: Utilizado como backend de resultados para o Celery e para caching.

  • Nginx (secedu-nginx): Atua como um proxy reverso para a aplicação Django, servindo arquivos estáticos e direcionando o tráfego.