【发布时间】:2013-09-26 07:56:59
【问题描述】:
我对 SOA 的唯一经验来自使用 NServiceBus。它的设计非常好,并且有一些我非常喜欢的漂亮功能:
- 消息的处理是事务性的(并为您处理),因此它是“一次且仅一次”(而不是“至少一次”)
- 内置 saga 支持
- 支持自动重试
- Pub/sub 支持(但我假设所有服务/消息总线都支持此功能)
所有这些内容让我只能专注于应用程序的逻辑,但我只在 .NET 中使用过它,而且对于我正在从事的项目,Windows 几乎可以肯定是一个非入门者。所以我的问题是......
*nix 生态系统中存在哪些服务总线技术(包括在 Mono 上运行 NSB 的经验)以及它们如何衡量在 Windows 上运行的 NServiceBus?
奖励:除了上述功能之外,还有哪些语言可以发送/接收/处理来自总线的消息?能够灵活地用 A 语言编写一个服务并用 B 语言编写另一个服务对于这个项目来说是非常有利的。
【问题讨论】:
-
请原谅我不分青红皂白的标记——我想尽可能多地标记选项。
-
Mono 上的 .NET 是否适合您的项目?
-
@UdiDahan 这可能会面临很大的反对。与 VS 相比,开发工具较差,而且它们通常不喜欢强类型、编译语言(即 C#)。不过,我仍然想知道 Mono 上的 NSB 与其他选项相比如何。
-
我是这么想的。
-
我认为,最佳情况是使用 NSB 作为基础架构,但不使用 C# 编写处理程序(我的同事更喜欢 Ruby,目前我更喜欢 Node)。这甚至可行吗?有什么计划可以让这成为可能吗?它将为 NSB 打开很多市场......
标签: nservicebus soa akka zeromq amqp