Does Sitecore have built in message queue that supports the batching of messages? It looks like the event queue only supports single messages being passed to a handler?
Not out of the box. You could theoretically craft something on top of the EventQueue, but I would probably look to third party solutions.
Edited to add:
There are indications that Sitecore architecure will move in the direction that allows for easier adaptation and implementation of Service Bus technology. Not much is known at this point - even less not under NDA constraints - but Sitecore xConnect was presented at the 2016 symposium. From an architectural point of view, it sits right in the place you would normally think in ESB.
(Image source: https://twitter.com/m7mdSyam/status/776887493484511232)
Additional information; Todd Mitchells presentation on xConnect at Symposium 2016.
In Sitecore 9.x There is a new message bus implementation based on Rebus with an RabitMQ Transport Provider. This can be leveraged for your own custom requirements too.
It is used already in Sitecore 9 by:
- EXM Dispatch
- Marketing Automation
There is more info on this here:
There is a good example of using it for custom requirements here:
** Thanks to Pete Navarra for pointing out on Slack that more accurately there is a RabitMQ Transport Plugin running on Rebus.