Componentes principais¶
O sistema é composto por vários módulos que são tipicamente executados em containers Docker. Eles são:
API Service: contém a API REST para a execução do processo de transcrição e gerenciamento dos arquivos de áudio.
Node Manager: controla o ciclo de vida das instância de processamento.
Normalization Executor: executor da etapa de normalização de arquivo de áudio.
Diarization Executor: executor da etapa de diarização de arquivo de áudio normalizado.
Recognition Executor: executor da etapa de reconhecimento de fala de segmento de fala diarizado.
Adicionalmente, ele ainda conta com os seguintes elementos:
MongoDB: banco de dados do sistema.
RabbitMQ: message broker para distribuir a carga de trabalho entre o controle do processo e os executores.
InfluxDB: banco de dados de série temporal para registro de métricas.
A instalação típica do sistema em ambiente de produção organiza os módulos em dois tipos de servidores ou nós:
Nó de Controle: contém os elementos mais leves do sistema, que normalmente não necessitam de escalabilidade, utiliza portanto poucos recursos de hardware. É formado pelos módulos:
API Service.
Node Manager.
Normalization Executor.
MongoDB.
InfluxDB.
RabbitMQ.
Nó de Processamento: contém os elementos que consomem uma maior quantidade de recursos de processamento. Possui maior necessidade de hardware e podem ser replicados para aumentar a capacidade do sistema. É formado por:
Diarization Executor.
Recognition Executor.
ASR-Server.