I am building an application to Consume high volume (streaming) message from RabbitMQ. Following is the situation
- There is RabbitMQ where publisher is publishing Live Match data which means volume of data is very fast( 100 messges per second per queue)
- In RabbitMQ the max queue length is 500 (messages).
- Which means if consumer don't receive the message very fast, messages will be lost
Following are my Queries
What pattern/architecture/tool is best for the above scenario?(To consume messages very fast)
Will MassTransit fullfil the above requirement?
CodePudding user response:
MassTransit, by itself, consumes very quickly. 1,000’s of messages per second are easily possible. But the time taken by MassTransit is only part of the overall message consumption time. The business logic within the consumer is where most of the time is spent. No question MassTransit can consume quickly enough, it just depends what the consumer needs to do.
100 messages per second is 10ms per message, consuming messages concurrently (which MassTransit does easily) can increase the amount of time available to consume each message.