在一次采访中,采访者问,什么是交易能力,肥皂和休息具有交易能力?
你能用简单的方法解释我吗。提前致谢,
答案 0 :(得分:0)
当我遇到类似的问题时,遇到过这些引用。希望它有所帮助。
来自http://spf13.com/post/soap-vs-rest
<强> WS-AtomicTransaction的强> 需要通过服务进行ACID事务,您将需要SOAP。虽然REST支持事务,但它不是 全面且不符合ACID标准。幸运的是ACID交易 在互联网上几乎没有意义。 REST受HTTP限制 本身不能提供跨分布式的两阶段提交 事务资源,但SOAP可以。互联网应用程序通常不会 需要这种级别的事务可靠性,企业应用程序 有时做。
来自https://msdn.microsoft.com/en-us/magazine/dd942839.aspx
交易怎么样?
这是SOAP和WS- *明确支持的另一个领域 一个“高级”功能,REST没有。 WS-Atomic Transactions 支持分布式,两阶段提交事务语义 基于SOAP的服务。 REST不支持分布式事务。 一般来说,如果你想要一个类似交易的东西 RESTful系统,您创建一个新资源。 (创建新资源 每当遇到RESTful系统的问题时,通常都会解决 大多数问题。)您可以拥有一个名为Transaction的资源。当你的 客户需要做一些交易性的事情(比如转账) 在两个银行账户之间),客户创建一个交易资源 它指定受影响的所有正确资源(在我的示例中, 通过对事务工厂URI执行POST来获得两个银行帐户。该 然后,客户端可以通过向事务发送PUT来执行更新 URI并通过向URI发送DELETE来关闭事务。
当然,这需要一些手工编码和明确的 控制你的系统,而WS-Atomic Transactions系统是 更自动因为(在Windows通信的情况下) 基础)它与运行时的管道相关联。
如果您的系统绝对需要原子事务语义 不同的系统,WS-Atomic Transactions可能是要走的路。 以这种方式使用分布式事务可能是也可能不是智能的 因为它增加了两个系统之间的耦合并产生了 如果你不控制两端的代码,可能会出现问题。 但最重要的是使用正确的工具 工作(一旦你弄清楚什么是正确的工作)。为了辩护 REST,我认为可以公平地说,鉴于今天的分布式, 面向服务的体系结构,如此紧密地耦合两个端点 使用分布式事务可能不是最好的设计。在 另一方面,某些情况需要这种类型的功能,并且 如果需要,请使用SOAP和WS-Atomic Transactions。