springcloud分布式事务是什么?有什么作用?

XIAO 2020-05-23 17:53:19 java常见问答 6410

近年来在java软件开发行业比较流行的一项技术——springcloud分布式,不知道大家有了解过吗?知道springcloud分布式事务是什么吗?它有什么作用呢?

微服务架构的优点如下:

技术异构性:

在不同的服务里面,可以使用不同的技术来各自开发,只要保证服务间能相互协作就可以了。

弹性:

当微服务中的某一个服务不可用的时候,是不会影响整个系统的,只会影响相关功能不可用。

扩展性:

易于扩展,使用小的多个服务,更加易于扩展新的功能

简化部署:

某个服务的更新部署,是不需要重新部署整个应用的。

可组合:

通过组合多个服务,去提供一些新的功能的。

分布式事务的引入:

对于微服务间的事务性操作来说,因为不同的微服务采用了不同的数据库,所有将无法利用数据库本身的事务机制保证一致性,我们需要引入二阶段提交等技术。

在单体项目中,很容易做到事务控制,而在多个服务之间是很难实现的。

Spring Cloud示例:

添加依赖

<properties>
   <lcn.last.version>4.1.0</lcn.last.version>
</properties>

<dependency>
    <groupId>com.codingapi</groupId>
    <artifactId>transaction-springcloud</artifactId>
    <version>${lcn.last.version}</version>
</dependency>

<dependency>
   <groupId>com.codingapi</groupId>
   <artifactId>tx-plugins-db</artifactId>
   <version>${lcn.last.version}</version>
</dependency>

在需要执行的事务上添加注解:

@Override
@TxTransaction(isStart = true)
@Transactional
public int save() {
}

其中 @TxTransaction(isStart = true) 为lcn事务控制注解,其中isStart = true是 表示该方法是事务的发起方,例如服务A 需要调用服务B,服务B 需要调用服务C,此时呢服务A为服务发起方,其余为参与方,参与方只需@TxTransaction就可以了。

那么以上就是本篇文章的所有内容来了,还想了解更多java常见问答信息的话,记得关注本站消息哦。

推荐阅读:

springcloud注册中心是什么意思?有什么作用?

springcloud项目搭建如何实现?示例

springcloud配置中心是指什么?如何实现?