5

这些架构的优缺点是什么?

  1. RPC 是指远程过程调用服务,如 WCF、WebServices 等。

  2. 另一方面,还有更多面向消息的框架,例如 MSMQ、NServiceBus、ServiceStack 等。

  3. 然后是混合方法,例如 WebAPI,它是某种远程 Active Record 模式(开箱即用,它只支持非常有限的动词,例如“Get”、“Put”、“Post”等)。

不考虑它是如何实际实现的(也就是我并不真正关心持久性、事务等,因为无论抽象如何都可以实现),这些抽象的优点和缺点是什么?

同样,请不要提供低级别的实现细节,我只想在健全的架构、最佳模式和实践,甚至是最适合使用每一种的情况以及为什么使用这些方面有所不同。

4

1 回答 1

8

RPC 的唯一好处是它看起来很熟悉,并且给开发人员一种服务调用看起来和行为就像普通方法调用的错觉。

否则 RPC 方法签名是紧密耦合的、脆弱的和脆弱的,并将您的服务合同与其单一服务器实现联系起来。这是一个较早的答案,比较了在基于消息的服务中重写的相同 WCF 和 Web API RPC 服务

对于背景阅读,我在 InfoQ 上的 WCF 与 ServiceStack 采访中描述了 RPC 与基于消息的服务之间的区别,以及基于消息的服务是什么以及它们的许多优点

于 2013-06-26T19:08:26.477 回答