设计分布式顺序/并行业务流程

时间:2014-08-28 07:12:40

标签: design-patterns service architecture soa distributed

假设这个系统:

input =>服务A =>服务B =>服务C&服务D(两者都可以并行运行)=>服务E =>输出

  • 每项服务必须具有横向扩展能力。

如何有效地使用c#设计此系统?服务可以是asp.net web api或windows服务。

1 个答案:

答案 0 :(得分:0)

使用消息队列在服务之间进行通信是有好处的,因为它提供了它们之间的异步和容错通信。排队的通信可以很好地扩展,并且可以非常容易地并行执行活动。

在技术方面,您可以使用NServiceBus和特定服务平台(完全披露 - 我是NServiceBus的原始创建者),或者,如果您正在寻找免费的东西,那么MassTransit可能是一个不错的选择。 / p>

如果您正在寻找两者之间的比较,请参阅此问题:

NServiceBus vs MassTransit