在戏说领域驱动设计(廿六)中,如何深入探讨事务处理?

2026-05-06 07:111阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计6217个文字,预计阅读时间需要25分钟。

在戏说领域驱动设计(廿六)中,如何深入探讨事务处理?

关于相关事务的内容,之前我们已讨论过,没有具体方法,这是一个难以回避的话题。你敢说在开发中根本用不到它吗?最初进行编码聚合进行序列化时,就启动了一个本地事务。然而,随着...

  有关事务的内容,在前面我们已经不只谈过一次,没办法,这是一个绕不开的话题。你敢说你在开发中不用到它?最起码聚合进行序列化的时候得启动一个本地事务吧。当然了,如果你用的是NoSQL,则另当别论,咱也就别抬那个杠了。你必须承认的事实就是无论现在的NoSQL数据库怎么发展,关系型的数据库仍然是业务系统中的主流,最起码在业务数据存储的时候大部分公司都用到比如MySQL、SQL Server等。我们都知道的一个常识是在非特殊的业务系统中,读操作的频率肯定要大于写的。那么特殊的是什么呢?比如普罗米修斯这种时序数据库,用于日志汇聚的Elasticsearch这种文档型数据库,大多数情况下写的频率要多于查询。回到一般性场景中,NoSQL作为关系型数据库的补充其存在往往在读场景中比例会更重,而只读的话基本上也就不用考虑事务了。

  本系列文章学术味道很淡,真要按严谨的学术形式来写那就没完了。讨论一个事务都先从其起源、相关的著作开始,且不说我个人是否有这个能力,您肯定也不喜欢看。所以咱就糙一点,能说明问题即可。首先,我们先对事务做个简单的分类:本地事务、全局事务和分布式事务。下面的内容我会基于这三个分类进行展开并着重说明实践中需要注意的事项。

一、本地事务

  本地事务几乎每个工程师都去用或至少用过,如果你是Spring的客户相信应该经常使用这样的注解“@Transactional”。没错,当后面的数据库是关系型的时候Spring已经将事务的使用方式进行了极大的简化,程序员只需要关心业务代码即可。这样好也不好,优点不提,不好的方面就是它把事务的执行方式进行了隐藏。

阅读全文

本文共计6217个文字,预计阅读时间需要25分钟。

在戏说领域驱动设计(廿六)中,如何深入探讨事务处理?

关于相关事务的内容,之前我们已讨论过,没有具体方法,这是一个难以回避的话题。你敢说在开发中根本用不到它吗?最初进行编码聚合进行序列化时,就启动了一个本地事务。然而,随着...

  有关事务的内容,在前面我们已经不只谈过一次,没办法,这是一个绕不开的话题。你敢说你在开发中不用到它?最起码聚合进行序列化的时候得启动一个本地事务吧。当然了,如果你用的是NoSQL,则另当别论,咱也就别抬那个杠了。你必须承认的事实就是无论现在的NoSQL数据库怎么发展,关系型的数据库仍然是业务系统中的主流,最起码在业务数据存储的时候大部分公司都用到比如MySQL、SQL Server等。我们都知道的一个常识是在非特殊的业务系统中,读操作的频率肯定要大于写的。那么特殊的是什么呢?比如普罗米修斯这种时序数据库,用于日志汇聚的Elasticsearch这种文档型数据库,大多数情况下写的频率要多于查询。回到一般性场景中,NoSQL作为关系型数据库的补充其存在往往在读场景中比例会更重,而只读的话基本上也就不用考虑事务了。

  本系列文章学术味道很淡,真要按严谨的学术形式来写那就没完了。讨论一个事务都先从其起源、相关的著作开始,且不说我个人是否有这个能力,您肯定也不喜欢看。所以咱就糙一点,能说明问题即可。首先,我们先对事务做个简单的分类:本地事务、全局事务和分布式事务。下面的内容我会基于这三个分类进行展开并着重说明实践中需要注意的事项。

一、本地事务

  本地事务几乎每个工程师都去用或至少用过,如果你是Spring的客户相信应该经常使用这样的注解“@Transactional”。没错,当后面的数据库是关系型的时候Spring已经将事务的使用方式进行了极大的简化,程序员只需要关心业务代码即可。这样好也不好,优点不提,不好的方面就是它把事务的执行方式进行了隐藏。

阅读全文