最强分布式事务框架怎么炼成的?
hptx 是当前性能最强的云原生、无侵入分布式事务解决方案,选择其他内存型
存储组件理论上可以得到更高的性能,但综合可靠性和性能,ETCD 是目前最好的选择。
一、什么是事件驱动架构
事件驱动架构是一种促进生产的软件架构范式。事件驱动架构在用微服务构建的现代应用
中非常普遍,它用事件来触发、解耦服务之间的通信。事件可以是状态的变更,比如将商品
放入购物车;也可以是某种标识,比如订单的发货通知。
在传统的软件架构中,应用逻辑是通过请求、过程驱动的。一个请求执行一段逻辑同步返
回一个响应,在业务逻辑中,将要执行的代码按照过程顺序进行编排。而事件驱动架构中,
事件消费者会以异步的方式处理事件生产者产生的事件,原来过程当中的逻辑交给事件消费
者去处理,解开服务之间的耦合,使应用的逻辑聚焦,应用的职责单一,代码更加简洁,也
能提升系统的响应能力。
二、分布式事务的事件驱动架构
在 2020 年,本文笔者开源了 Go 语言的分布式事务框架 Seata-Golang。Seata-Golang
实现 AT 模式和 TCC 模式,这两种模式都是过程驱动。到了 2022 年,随着对云原生技
术的理解深入,从 Kubernetes Control-Loop 思想中获得灵感,全新设计了高性能、无侵入、
事件驱动的 Go 语言分布式事务框架 hptx,以及支持跨语言分布式事务、读写分离、分库
分表的 Mesh 方案 DBPack。这两款产品都能解决分布式事务问题,前者只支持 Go 语言,
后者支持任意编程语言。他们采用了相同的事件驱动架构。下面进行详细的说明。
过程驱动