Ajustando a taxa de uma configuração MQTT

Ajustando a taxa de uma configuração MQTT

Tenho um problema que estou tentando resolver que parece ser um problema comum e, portanto,provavelmentetem uma solução comum na forma de um protocolo de rede. Meu conhecimento deprotocolos de redeé um tanto limitado e não consigo encontrar um protocolo existente para resolver esse problema usando a pesquisa do Google, se usar um protocolo diferente for a solução que realmente preciso.

Minha configuração

Usando MQTT, tenho um único produtor publicando mensagens em um tópico e potencialmente vários consumidores assinando esse tópico. O produtor pode produzir mensagens a uma determinada taxa máxima. Cada consumidor deseja processar mensagens a uma taxa exclusiva daquele consumidor individual. Se um consumidor receber mensagens a uma velocidade mais rápida do que consegue processar, ele pode simplesmente descartá-las.

A minha preocupação

Por exemplo, posso ter um produtor que pode enviar imagens a, digamos, 100 imagens por segundo, mas meus 2 consumidores só podem consumi-las a uma taxa de 8 por segundo e 5 por segundo, respectivamente. Para conservar os recursos da rede, a taxa ideal de publicação aqui seria de 8 imagens por segundo.

Meu pensamento

Uma forma de fazer isto funcionar é fazer com que os produtores e consumidores se liguem a um serviço comum de “negociação de taxas”, cujo objectivo seria alterar a taxa a que o editor está a emitir mensagens para o tópico partilhado.

Pergunta

Devo considerar usar outro protocolo para essa finalidade ou haveria algo mais comum que eu deveria considerar para me ajudar a resolver essa preocupação e resolver meu problema?

informação relacionada