1

I have a problem that I am trying to solve which feels like it is a common problem and thus probably has a common solution in the form of a network protocol. My knowledge of network protocols is somewhat limited and I am unable to find an existing protocol to solve this problem using google search if using a different protocol is the solution I actually need.

My Configuration

Using MQTT, I have a single producer publishing messages to a topic and potentially several consumers subscribing to that topic. The producer can produce messages at a certain maximum rate. Each consumer wants to process messages at a rate that is unique to that individual consumer. If a consumer receives messages at a rate faster than they can process, they can simply throw away messages.

My Concern

For example, I might have a producer that can push images at say 100 images per second but my 2 consumers can only consume them at a rate of 8 per second and 5 per second respectively. To conserve network resources, the optimal rate of publishing here would be 8 images per second.

My Thought

One way to make this work, is to have the producers and consumers connect to a common “rate negotiating” service whose purpose would be to alter the rate at which the publisher is emitting messages to the shared topic.

Question

Should I consider looking at using another protocol for this purpose or would there be anything else common I should consider to help me address this concern and solve my problem?

Alex Ryan
  • 111

0 Answers0