Sobre
“O Pub/Sub é um serviço de mensagens em tempo real totalmente gerenciado que permite o envio e o recebimento de mensagens entre aplicativos independentes.”
Termos Utilizados
consumidor = assinante/subscriber
produtor = publicador/publisher
mensagens = eventos/itens da fila
Detectando Problemas
Existem alguns tipos de problemas que podem ser detectados observando o monitoramento das mensagens de uma fila:
a) Os consumidores não conseguem acompanhar o ritmo/volume das mensagens
b) Mensagens travadas
c) Perda de dados
Para verificar a causa podemos checar:
Produtor
Quem produz/publica as mensagens
Meio
A ferramenta em uso, no caso o PubSub
Consumidor
Quem consome as mensagens
Para entender melhor como solucionar esses problemas você pode checar também na documentação oficial, como por exemplo:
Exemplo
Processo com pico no consumidor:
Olhamos para duas métricas, como no quadro da documentação visto acima, “oldest_unacked_messages“ e “unacked messages”.
Ou seja os consumidores pegaram a mensagem para processamento mas não confirmaram se realizaram o processamento ou não gerando um aumento no tempo de vida das mensagens.
A solução como diz a documentação poderia ser aumentar o número de consumidores ou pods para realizar o trabalho, ou bug, mas como vemos nos gráficos foi temporário e provavelmente os pods escalaram para a demanda assim resolvendo o problema.
Referências
https://cloud.google.com/pubsub/docs/monitoring
https://cloud.google.com/monitoring/api/metrics_gcp#gcp-pubsub
Top comments (0)