【发布时间】:2014-10-21 23:06:20
【问题描述】:
假设这个系统:
输入 => 服务 A => 服务 B => 服务 C 和服务 D(两者都可以并行运行)=> 服务 E => 输出
- 每项服务都必须具备横向扩展能力。
如何有效地使用 c# 设计这个系统?服务可以是 asp.net web api 或 windows 服务。
【问题讨论】:
标签: design-patterns service architecture soa distributed
假设这个系统:
输入 => 服务 A => 服务 B => 服务 C 和服务 D(两者都可以并行运行)=> 服务 E => 输出
如何有效地使用 c# 设计这个系统?服务可以是 asp.net web api 或 windows 服务。
【问题讨论】:
标签: design-patterns service architecture soa distributed
使用消息队列在服务之间进行通信会有优势,因为它提供了它们之间的异步和容错通信。队列通信可以很好地扩展,并且可以非常轻松地并行执行活动。
在技术方面,您可以使用 NServiceBus 和特定服务平台(完全公开 - 我是 NServiceBus 的原始创建者),或者,如果您正在寻找免费的东西,那么 MassTransit 可能是一个不错的选择。
如果您正在寻找两者之间的比较,请参阅这个 SO 问题:
【讨论】: