cmd/kafka.go ->
deliveryChan - Canal Database - Banco de dados producer - producer
Lendo para ver se eu recebo novas msg - go kafka.DeliveryReport(deliveryChan)
Cria o processor do kafka - kafkaProcessor Comeca a consumir a msg - kafkaProcessor.Consume()
application/kafka/process.go ->
Conecto no servidor usando um configMap Depois eu fico escutando 2 topicos, Transacition e transaction confirmation - topics := []string{} Cada mensagem recebida vai pro metodo processMessage - Se o topico for transaction, ele cai em processTransaction / Se o topico for transaction_confirmation ele cai em processTransactionConfirmation
processTransaction - Recebe em JSON, converte para struct em GO, cria um transactionUseCase atraves de uma factory, pega o banco e o cod do banco e registra a transacao e mandar como pendente no formato de json, publicando no topico do kafka
processTransactionConfirmation - se o banco mandar que a msg esta confirmada, eu confirmo a transacao e mando uma msg para o banco de origem falando que a msg esta confirmado, caso ele diga que esta completa ele marca como completa e finaliza a transacao.