首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >web应用程序中的事务处理

web应用程序中的事务处理
EN

Stack Overflow用户
提问于 2009-01-20 17:12:50
回答 1查看 1.6K关注 0票数 2

我注意到,在大多数Web应用程序中,每当涉及到一组页面中的事务时,事务处理就会发生在数据库层。在web应用程序中,可能有许多用户运行这样的事务,处理所有事务可能是一件关键的事情。我同意数据库层在这方面是相当有效率的,并提供了相当多的特性来有效地做到这一点。

我的问题是,如果web应用程序构建在不提供支持事务处理的数据库上,那么是否有办法在其他层处理这些事务?

EN

回答 1

Stack Overflow用户

发布于 2009-01-20 17:39:43

不处理事务的数据库?最好找个新数据库。

我不同意-事务不会在持久化层中处理。我认为它们正确地属于服务层,因为服务方法是映射到工作单元和用例的。单个服务调用可能涉及多个数据库和模型对象,因此它们都需要是一个单一的、酸性的工作单元。如果持久化层处理事务,这是不可能的。

这样的设计可以处理事务,即使数据库不支持它们。在发生回滚时,服务可以实现补偿调用。如果您将该逻辑插入持久性层,则不可能。

在我看来,您必须在web和持久性层之间有一个独立的服务接口。web层只处理HTTP请求、路由到服务和制定返回响应。服务部门负责这项工作。

如果您选择以这种方式部署web服务,则这些服务可以是web服务,但是有很多部署选择。独立的服务层独立于这些选择。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/462195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档