# How to implement fair and balanced message processing if I could have some users sending many messages in short interval and new users can be created anytime

**URL:** <https://forum.confluent.io/t/how-to-implement-fair-and-balanced-message-processing-if-i-could-have-some-users-sending-many-messages-in-short-interval-and-new-users-can-be-created-anytime/10980>\
**Category:** Architecture and Design\
**Created:** [28 June 2024 16:50 UTC](https://forum.confluent.io/t/how-to-implement-fair-and-balanced-message-processing-if-i-could-have-some-users-sending-many-messages-in-short-interval-and-new-users-can-be-created-anytime/10980 "2024-06-28T16:50:02Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![radumarias](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.confluent.io/radumarias/32/3853_2.png) [@radumarias](https://forum.confluent.io/u/radumarias)\
**Post date:** [28 June 2024 16:50 UTC](https://forum.confluent.io/t/how-to-implement-fair-and-balanced-message-processing-if-i-could-have-some-users-sending-many-messages-in-short-interval-and-new-users-can-be-created-anytime/10980/1 "2024-06-28T16:50:02Z")

</div>

I have a system where I sync multiple remote storage providers. I keep in a kafka topic the changes to the files from one provider than need to be synced to another provider, let’s say a file create of file content change.

I could have a situation where one provider does a lot of changes and many messages are sent to the topic and consumers will be busy processing mostly those provider messages not processing much from other providers.

Ideally I would want to have a fair distribution, logically like a queue for each provider and consumers process round-robin from each queue. Like that all providers messages will be processed fairly.

Even if I send message to a partition by hash cluster, like `provider_id % num_partitions` this will affect al providers in the same partition.
