Começe pelo básico que resolve o problema, nesse caso o mais simples seria enviar uma mensagem por vez e no payload da mesma ter a mensagem, empresa/tenancy. Fica mais simples uma unica fila e vários consumers, você pode também poderá filtrar de acordo com os parametros do payload.
Fala danilo, valeu pela resposta.
Então, ja estou fazendo isso, enviando o id do tenant no payload junto com o restante das informações.
Atualmente tenho uma única fila sendo message:sent (que serão enviadas) e message:received (mensagens recebidas, pra tratar toda a logica de salvamento na db).
Porém tenho apenas um consume pra cada fila. Poderia me informar oque de fato iria impactar criando varios consumers?
Agradeço!
Não tem problema em ter vários consumers, o problema seria não ter o suficiente e acabar tendo muitas mensagens represadas, mas isso envolve problema de escalabilidade. Eu não criária uma fila para cada cliente apenas teria uma fila e trataria as mesengens e tivesse que fazer algum filtro/ação faria apenas pelo conteudo payload dentro.