I am investigating whether to use nServicebus or a custom solution for a new project. Basically I want to create a "messaging layer" that will receive messages from various sources, process these messages and then send them off to some destination. In most cases I retrieve and send the messages. In a few cases, messages arrive via a web service. I want to know whether nServicebus is a good fit for this type of project or should I just create some generic interfaces and use a database as a queue for my messages.
One example is where I need to retrieve files via FTP, decrypt these files and then process them via a COM call (ActiveX dll). This开发者_开发技巧 process could fail at various points. I would like to be able to specify when a message must be re-retrieved, reprocessed or resent.
Sounds to me like NSB could be a good fit for you. NSB has WCF support out of the box so having messages arrive through web-service calls should be very easy.
An example of this can be found in the WcfIntegration sample that is included in the NSB download.
Regarding the your ftp example I suggest that you look at the saga feature of NSB to help you control the message flow and rules for retries etc etc
http://nservicebus.com/Sagas.aspx
NSB has builtin support for automatic retries as well.
精彩评论