.NET Fast Persistent Queue
I am looking for a queue system where multiple different subscribers can pull items off a centralized queue. The messages will be very lightweight, but i need something that is persistent and ve开发者_开发百科ry fast as the volume of messages will be large. MSMQ is a little heavy and i am looking for something light. Suggestions?
There is a really nice project on codeproject. That is lightweight alternative to MSMQ. You can use persistence storage of your own choice, by default it uses Sqlite. This is really good.
I think the question here is do you "need" persistance? If you need protection from duplicates, multiple clients and persistence then you will be all but forced to pursue a locking scheme for your queue manager, which will cost you in performance. Persistance itself will hurt you unless you put the queue storage on a high speed file share.
If you can rearchitect your app to survive a queue crash (keep a feed at the server, or have a request / response architecture for messages) then you can get around the need for persistance. If you do that then you will find that your queue manager runs exclusively in memory and will be extremely fast.
精彩评论