Specific advantages of NServiceBus over plain RabbitMQ

左心房为你撑大大i 提交于 2019-11-28 23:48:35

问题


Are there any advantages of using NServiceBus over simply using the .net driver for RabbitMQ (assuming we can replace MSMQ with AMQP). Does NSB provide any additional functionality or abstractions that are not available directly in AMQP.


回答1:


Main advantages include (but are not limited to):

  • Takes care of serialization/deserialization of messages.
  • Provides a neat model for dispatching messages w. handlers, polymorphic dispatch, arranging handlers in a pipeline etc.
  • Handles unit of work.
  • Provides a neat saga implementation.
  • Gives you a host process that can be F5-debugged as well as installed as a Windows service.

These are things, that you'd need to roll yourself, if you were to use the RabbitMQ .NET client directly - unless, of course, you don't need any of these things.

Oh, and if you use MSMQ instead of RabbitMQ, you can get all these things in a broker-less model :)




回答2:


NSB most often uses MSMQ as the underlying transport. It could use RabbitMQ or some other AMQP compliant transport. NSB provides support for all the basic messaging patterns including point to point communication, pub/sub etc. The decision to use a particular transport would be different than that of choosing NSB itself. It has many features and you can get and idea from the Documentation page.



来源:https://stackoverflow.com/questions/9558128/specific-advantages-of-nservicebus-over-plain-rabbitmq

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!