RPC与ServiceBus风格的SOA对比

5
这些架构的优缺点是什么?
1. RPC指远程过程调用服务,如WCF、WebServices等。 2. 另一方面,还有更多基于消息的框架,如MSMQ、NServiceBus、ServiceStack等。 3. 还有混合方法,如WebAPI,它是某种远程Active Record模式(默认情况下只支持极少量的动词,如“Get”、“Put”、“Post”等)。
忽略实际实现方式(比如我不真正关心耐久性、事务等,因为所有这些都可以在抽象层面上实现),这些抽象的好处和缺点是什么?
请勿涉及低级实现细节,只讨论良好架构、最佳模式和实践,或者适用于每种方法的情况以及原因。
1个回答

8
RPC的唯一好处是它看起来很熟悉,并给开发人员一种错觉,即服务调用与普通方法调用看起来和行为都一样。除此之外,RPC方法签名紧密耦合、脆弱易碎,将您的服务契约与其单个服务器实现绑定在一起。以下是一个早期答案,对比了同样使用RPC服务的WCF和Web API重新设计成基于消息的服务的问题
有关背景阅读,我已经在InfoQ上描述了RPC vs基于消息的服务之间的区别,以及什么是基于消息的服务以及它们的许多优点

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接