作者:清铭,Seata 创始人

Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。Seata 在阿里内部一直扮演着应用架构层数据一致性中间件的角色,几乎每笔交易都要使用 Seata,帮助业务平稳的度过历年的双 11 洪荒流量。开源的短短 3 年间,Seata 社区已经收获了 22k star 和树立了一大批企业标杆用户,成为了分布式事务领域的事实标准。

Seata 近期正式发布了 1.5.0 里程碑版本,该版本共有 61 名 contributor 贡献了近 7w+代码,发布一系列重大特性支持如控制台的支持。同时,基于 1.5.0 版本在阿里云上正式开放了 Seata 企业版的公测,企业版可以让用户免去运维的烦恼,内核性能上也有较大幅度的提升,让用户可以快速体验 Seata 的功能和享受云原生时代带来的红利。公测期间用户可以免费开通 Seata 企业版,欢迎大家的试用,也希望您对我们产品提出宝贵的建议。

Seata 企业版服务开通入口:

https://help.aliyun.com/docum...

目前只支持华北 2(北京)地域,公测期间免费使用。

Seata 的前世今生

Seata 开源之前其内部产品 TXC(taobao transaction constructor)在阿里内部经过了长时间的打磨,在中间件产品矩阵中承担着"服务一致性"的重要角色。它最早诞生于去“IOE”的互联网中间件时代,用于解决阿里内部大规模服务化遇到的数据一致性问题,其后又经历了 ”高可用和统一电商”,“中间件上云”,“云原生中间件”等重要技术架构的演进。

 title=

在过去几年,开源社区推出了多个为人熟知的开源项目,支持核心业务的中间件系统从封闭走向开放。阿里在 2019 年完成了全站的核心系统上云,三位一体的理念,即“自研”、“开源”、“商业化” 形成统一的体系,成为了现实,最大化发挥了技术的价值。Seata 成为了分布式应用从 0-1 落地过程中的重要基础组件。

 title=

Seata 的核心业务价值

当应用演进为分布式架构后,其分布式事务问题尤为突出,主要产生的原因有:

1. 跨数据库操作
业务初始阶段往往规模比较小,大多情况下,单库就可以满足需求。随着业务规模变得大而复杂,会出现分库的情况,这时原有的单机事务往往会变成分布式事务。

2. 跨系统的分布式事务
在和第三方系统(含企业内外)集成时,本地的操作强依赖于第三方系统的响应结果,并且业务要么一起成功,要么一起失效,这时会自然地产生分布式事务的场景。

3. 跨服务的分布式事务
业务完成服务化改造后,资源与客户端调用解耦,同时又要保证多个服务调用间资源的变化保持强一致,否则会造成业务数据的不完整。

4. 跨数据库与消息的分布式事务
在某些业务场景中,需要进行多个 DB 操作的同时,还会调用消息系统,DB 操作成功、消息发送失败或者反过来都会造成业务的不完整。

 title=

Seata 可以轻松解决上述场景中遇到的分布式事务问题,成为分布式架构下资源层数据一致性的连接点,在内部业务中有着广泛的应用,与“三大件” 做了无缝的集成,开发者可以透明的使用 Seata 解决应用架构层的数据一致性问题。

  • 与 HSF / Dubbo 集成,用于解决跨服务的数据一致性;
  • 与 TDDL / DRDS 集成,用于解决分库分表间的数据一致性;
  • 与 MetaQ / RocketMQ 集成,用于解决分布式事务与消息发送成功的一致性。

 title=

Seata 在其内部日均处理百亿级的的事务量,可用性和性能 SLA 均达到 99.99%,全年无故障。其独创的 AT 事务模式,实现了毫秒级的事务处理,3 节点集群可达近 10w tps 的并发事务处理。

Seata 通过框架层面解决业务过程中产生的分布式事务问题,使架构师更聚焦于业务架构本身,无需再关注数据一致性的设计。通过简单易用的无侵入方案,降低了开发者的学习成本,提升了开发的效率。

Seata 开放公测

核心优势

Seata 企业版 100% 兼容开源,开源自建切换至企业版 0 迁移成本,用户只需简单的更改 endpoint 就可以使用 Seata 企业版。相比开源自建, Seata 企业版核心优势如下:

  • 免搭建:人工维护成本低。
  • 易用性:白屏化运维操作。
  • 高可用:多可用区部署、故障自动检测及恢复、弹性伸缩、SLA 保障。
  • 性能:企业版相比开源在内核层性能提升 30%+,综合考虑其他方面提升约 100%。
  • 监控:具备专业的 APM 监控和报警。
  • 安全:支持鉴权,内核安全加固优化、数据加密。

 title=

开源自建与企业版性能对比

企业版内核在性能和稳定性上进行了深度优化。企业版相比开源版内核 rt 降低 20% 以上,tps 提升 30%,考虑到相比自建的参数调优、依赖组件调优和基础设施等优势,同规格整体性能预计提升约 100%+。同时,企业版解决了高并发场景下的事务处理“毛刺”问题。

服务开通

通过开源自建的方式搭建 Seata 集群需要搭建 Server 依赖的存储、注册中心、配置中心、修改和同步配置、修改元数据、添加事务分组和启动 Server 七个步骤来完成。Seata 企业版提供了 Server 节点、依赖的存储和 NamingServer(注册中心和配置中心)的托管,免去用户搭建的烦恼,只需在阿里云微服务引擎 MSE 分布式事务控制台点击“创建 Seata 实例”和“创建事务分组”就可完成创建操作,目前只支持华北 2(北京)区域开通。

 title=

步骤一:创建 Seata 实例

 title=

步骤二:创建事务分组

 title=

目前 Seata 企业版不能在非阿里云环境下直连,如遇本地开发调试可安装 CloudToolkit 插件,启用 “端云互联” 功能进行网络连通,详细介绍参照分布式事务服务开通文档。

答疑支持

如果您在开通使用过程中遇到任何问题,可以钉钉扫码加入以下 “MSE-Seata 企业用户支持群”,我们将第一时间处理您的问题。

 title=


阿里云云原生
1k 声望302 粉丝