-1

我最近在我的一个项目中使用了 N Service Bus,虽然我喜欢它,但我仍在寻找替代选项。我偶然发现了 RabbitMQ,但在尝试之前,我想了解以下内容:

1-可靠吗?(使用 N 服务总线,如果消息被发布到队列,侦听器总是会收到它)。

2-如果客户端关闭,它是否会在可用时自动获取消息?就像在 NSB 中一样。

3-资源是否轻量级(NSB非常轻量级)?

4-与.Net集成是否容易?

5- 管理面板是否可用于开源免费版本?

6- 如果消息没有被发布等,是否很容易追踪问题?(这就是 NSB 的痛处)

7-它是否支持复杂的场景,其中可能有 N 个消息的侦听器或需要侦听多个消息的单个侦听器等?

8-它可以从代码中配置吗?(我个人不喜欢使用 heave Config 文件,只是个人选择)

9- RabbitMQ 的 .Net API 是干净的还是使代码混乱?

请给我您的反馈。以上所有问题都与开源版本有关,我还不想购买许可版本。还建议是否有任何其他可用的选项。

谢谢,

4

1 回答 1

1

它可靠吗?(使用 N 服务总线,如果消息被发布到队列,侦听器总是会收到它)。

是的。此外,您可以更好地控制 rabbitmq 中的“可靠性”,例如,您可以指定队列是持久的(这意味着消息在传递之前会持久保存到磁盘)。

2-如果客户端关闭,它是否会在可用时自动获取消息?就像在 NSB 中一样。

是的。

3-资源是否轻量级(NSB非常轻量级)?

RabbitMq 是用 erlang 编写的,并作为它自己的进程运行。您可以深入了解它是如何消耗内存的,但实际的资源使用情况将取决于您的工作负载。

4-与.Net集成是否容易?

是的。基本的 rabbitmq C# 包装器非常易于使用,并提供了对 rabbitmq 概念的非常简单的抽象。如果您来自 NServiceBus(我相信它有一个 RabbitMQ 适配器),则可以使用更高级别的库。你应该看看 MassTransit,它可以使用 RabbitMQ 和 MSMQ 作为传输,以及像我自己的栗鼠或 EasyNetQ 这样的库,它们只是 RabbitMQ。

5- 管理面板是否可用于开源免费版本?

是的。

6- 如果消息没有被发布等,是否很容易追踪问题?(这就是 NSB 的痛处)

是的。使用管理工具,您可以查看交换和队列之间的绑定。

7-它是否支持复杂的场景,其中可能有 N 个消息的侦听器或需要侦听多个消息的单个侦听器等?

是的。

8-它可以从代码中配置吗?(我个人不喜欢使用 heave Config 文件,只是个人选择)

是的。

9- RabbitMQ 的 .Net API 是干净的还是使代码混乱?

是的。

于 2013-02-03T03:11:13.613 回答