你好!Apache Seata
北京时间 2023 年 10 月 29 日,分布式事务开源项目 Seata 正式通过 Apache 基金会的投票决议,以全票通过的优秀表现正式成为 Apache 孵化器项目!
根据 Apache 基金会邮件列表显示,在包含 13 个约束性投票 (binding votes) 和 6 个无约束性投票 (non-binding votes) 的投票全部持赞同意见,无弃权票和反对票,投票顺利通过。
“Welcome Seata to the ASF incubator.”
项目历史
-
**早在 **2007 年****阿里巴巴和蚂蚁集团内部开发了分布式事务中间件,用于解决电商、支付、物流等业务场景中应用数据的一致性问题。内部项目分别被称为 TXC (Taobao Transaction Constructor)/XTS (eXtended Transaction Service),该项目几乎在每笔订单的交易支付链路几乎都有使用。
-
自 2013 年以来
阿里巴巴和蚂蚁集团已在阿里云和金融云上向企业客户分别发布了分布式事务云服务产品 GTS(global transaction service)/DTX(Distributed Transaction-eXtended),在各个行业领域积累了大量用户。
-
2019 年 1 月
阿里巴巴集团正式开源了该项目,项目命名为 Fescar (Fast & Easy Commit and Rollback))。项目开源以来,它受到了众多开发人员的热烈欢迎和赞扬,开源一周收获了超 3k star,曾一度蝉联 GitHub Trending 排行榜第一。
-
2019 年 4 月
蚂蚁集团数据中间件团队加入了 Fescar 社区。为了创建一个更加开放和中立的社区,Fescar 改名为 Seata(Simple Extensible Autonomous Transaction Architecture),代码仓库从 Alibaba organization 迁移到其独立的 Seata organization。
-
2019 年 12 月
Seata 开源项目正式发布 1.0.0 GA 版本,标志着项目已基本可生产使用。
-
2023 年 10 月
为了更好的通过社区驱动技术的演进,阿里和蚂蚁集团正式将 Seata 捐赠给 Apache 基金会,提案通过了 Apache 基金会的投票决议。
项目现状
- Seata 开源 4 年来主项目在 GitHub 累计收获 star 超 24k,累计发布版本超 40 次,参与代码贡献人数超 300 人。
- Seata 被各领域企业/组织广泛应用于解决分布式事务问题,在 GitHub「Used by」超过 3.1k 的仓库依赖,金融领域企业纷纷试点使用。
- Seata 对于市面上主流的关系数据库,RPC 框架做了广泛的支持,同时被许多第三方社区做了主动和被动集成。
项目特性
- 提供 AT、TCC、Saga 和 XA 事务模式,支持事务模式的混用,满足不同业务场景的数据一致性需求。
- 提供 Java、Golang 等多语言 SDK 支持。
- 支持了 Apache Dubbo、Spring Cloud Alibaba、gRPC、Motan、sofaRPC、HttpClient 等服务调用框架。
- 支持了 MySQL、MariaDB、Oracle、PostgreSQL、OceanBase、TiDB、SQLServer、PolarDB、Dameng 等关系数据库无侵入 AT 事务模式的支持。
- 支持基于多种关系数据库、Redis 存储的存算分离的集群模式,支持基于 Raft 的存算不分离集群模式,满足不同运维场景下的集群高可用需求。
- 支持了市面上主流的注册中心和配置中心。
- 提供了丰富的插件化扩展机制,支持用户自定义 SDK 侧 30 多个扩展点。
致谢
感谢所有曾经参与到社区的贡献者。
特别感谢愿意给 Seata 提供指导的 champion 和 mentors。
Champion:
- Sheng Wu(wusheng at apache dot org)
Mentors:
- Sheng Wu(wusheng at apache dot org)
- Justin Mclean(justin at classsoftware dot com)
- Huxing Zhang(huxing at apache dot org)
- Heng Du(duhengforever at apache dot org)
我们坚信将 Seata 引入 ASF 可以推动更强大、更多元化的开源社区的发展。我们将努力践行 Apache Way,同时欢迎更多的公司和个人加入到开发者队伍中来,让 Seata 社区更加健康和健壮的成长,让更多人享受开源带来的技术红利!
项目寄语
四年前,我们秉持开源开放的理念,在社区写下了第一行代码。回顾过去四年,Seata 开源社区的技术演进和社区运营就像一次创业旅程。这四年我们取得了不菲的成绩,Seata 的出现快速占领了开发者的心智,成为了分布式事务领域的事实标准,在理论实践中我们牵头推动了行业标准的建立。 Seata 捐赠给 ASF 是我们迈向更多元化社区治理和全球化发展的重要里程碑。
– 季敏|Seata 开源社区创始人
阿里云是开源的受益方,也在持续贡献开源,继 Apache RocketMQ、Apache Dubbo 之后,我们将 Seata 也捐赠给了 ASF。相信 Seata 的捐赠,将进一步推动云原生微服务领域的技术发展。一直以来,阿里云通过投入开源,建立技术标准,帮助千万开发者使用更先进的云原生技术,让社区生态和云之间建立起非常好的连接,助力企业和云协同发展。
– 丁宇|阿里云云原生应用平台负责人
分布式事务是微服务架构最复杂,技术水位最深的部分,阿里&蚂蚁在开源捐献之前申请了数十个专利,开源之后在社区推动下高速发展,吸收 70%+ 外部开发者,大幅降低分布式的复杂度,扩展了分布式事务的生态; 未来随着微服务高速发展,随着数据一致性要求越来越高,相信分布式事务会发挥越来越大的作用!
– 李艳林|阿里云微服务团队负责人
Seata 是一款由阿里巴巴和蚂蚁集团共同参与开发的分布式事务解决方案,广泛应用于两家公司的内部系统。它的突出特点在于高性能和简单易用,为微服务架构下的分布式事务处理提供了高效且可靠的解决方案。我们坚信将 Seata 捐赠给 ASF,社区将会得到更好的发展,能为更多的开发者提供更优质的服务。同时,我们也期待更多的开发者能够加入到 Seata 的开发中来,共同推动分布式事务解决方案的进步和发展。
– 谢吉宝|阿里云云原生中间件负责人
恭喜 Seata 全票通过进入 Apache 孵化器!2019 年,蚂蚁集团和阿里集团携手一起开源了分布式事务框架 Seata,各自贡献了内部分布式事务的最佳实践。经过了四年的发展,Seata 早已成为一个被社区广泛认可的分布式事务项目,大量的贡献者在 Seata 里面贡献代码,丰富了 Seata 的各种功能,很多用户在自己的环境中使用 Seata,给 Seata 带来了大量的实践落地案例。Seata 进入 Apache 孵化器不是终点,而是新的起点, 期待 Seata 后面能够持续按照 The Apache Way 的方式运作,以更加中立的姿态,吸引更多的贡献者和用户,走向更加宽阔的未来。
– 黄挺|蚂蚁集团中间件负责人
非常高兴 Seata 这个阿里和蚂蚁合作多年的开源项目进入 Apache 基金会进行孵化,相信 Apache Way 会帮助项目更加社区化、服务更多人,也期待 Apache 的 Seata 能为社区带来更多微小而美好的改变。对于蚂蚁开源来说,Seata 进入 Apache 孵化也是一个重要的里程碑,希望未来有更多蚂蚁团队发起的项目也能走上 Apache 之路。
– 王旭|蚂蚁开源技术委员会副主席
很高兴能够作为 Champion 和 Mentor ,帮助 Seata 社区进入到 Apache 孵化器。Seata 项目在过去的 4 年,在分布式事务领域取得了长足的进度,并以开放的心态面向社区,并一步步的做好走进 Apache 孵化器的各项准备工作。希望在未来的一到两年的实践中,项目成员能够很好的学习以及融入 ASF 的文化中,并进一步增加社区的多元化和国际化。进入孵化器是一个里程碑,更是一个新的开始,祝贺 Seata 项目。
– 吴晟|Apache 软件基金会会员、Apache 软件基金会首位中国董事、Apache 软件基金会孵化器PMC成员和项目导师
我关注 Seata 这个项目关注很长时间,从 Fescar 到 Seata,该项目从诞生之初就保持了旺盛的生命力,在近几年社区和逐步壮大,逐步成长为分布式事务这个领域杰出的一个开源项目,很高兴看到 Seata 加入 Apache 基金会进行孵化,相信 Seata 今后会以更加中立的身份,吸引更多的贡献者,一群走一起走可以走的更稳更远。很荣幸以导师的身份陪伴 Seata 的孵化之旅,预祝 Seata 一切顺利!
– 张乎兴|Apache 基金会成员、Apache Tomcat 和 Apache Dubbo 社区 PMC 成员、Apache Seata(incubating) 导师
Seata 作为在阿里跟蚂蚁久经验证的分布式事务框架,不仅经历了历年海量流量的验证,而且在开源之后迅速成长为国内分布式事务领域的事实标准。很高兴看到 Seata 成为 Apache 基金会孵化项目,作为一个新的开始,希望 Seata 能够吸引更多的开发者,打磨更多的场景,行稳致远,相信在众多开发者的共同努力下,Seata 一定能够成为数据与应用之间的坚实桥梁。
– 杜恒|ASF member、Apache RocketMQ PMC member
Seata 作为分布式事务协调器,是微服务架构中最重要的独立组件之一,也是整个阿里巴巴微服务领域最精华的部分之一。Seata 项目从开源以来就受到了广泛的开发者支持,而现在它将进入 Apache 基金会孵化,我相信会在 Apache Way 开放的文化帮助下,Seata 项目将继续成为微服务架构中的一颗明星,为我们带来更多便利和创新。
– 王小瑞|AutoMQ 联合创始人 & CEO、Apache RocketMQ 作者、PMC Chair
在分布式、微服务领域,Seata 绝对占得重要的一席,它开创性的创造了多种事务模式。Dubbo & Spring Cloud Alibaba 一直和 Seata 有深度的集成与合作,我本人也与作者季敏、社区核心成员有过多次深入交流,这是一个有技术追求、有责任心、充满活力的开源社区。 非常高兴见证 Seata 加入 ASF 大家庭,开启新的旅程,祝一切顺利。
– 刘军|Apache Dubbo PMC Chair、Spring Cloud Alibaba 负责人
分布式事务一直是一个被大众敬而远之,视而不见却实际存在的问题,四年前 Seata 将业界对待分布式事务的“鸵鸟心态”转为轻松面对,将一个业界最难攻克的问题,以一种标准化、无侵入、低成本的方式引进,目前登记在册已有数百家企业,覆盖各式各样的业务场景。 如果说四年前 Seata 是一粒种在这个领域的种子,那么目前已经枝繁叶茂了,相信捐赠给 ASF 后更加的中立与开放,吸引更多开发者共同建设,共同演进分布式事务领域的未来技术架构,将这颗已经枝繁叶茂的大树做到硕果累累。
– 陈健斌|Apache Seata(incubating)PPMC 成员
作为分布式事务领域的重要项目,Seata 自诞生以来,一直致力于解决微服务架构下的数据一致性问题,帮助开发者构建高性能、易扩展、易使用的分布式应用。 现在,Seata 即将踏上新的征程。我们相信 Seata 在捐赠给 ASF 这个大家庭后,将会得到更广泛的关注和使用,也相信在未来的日子里,Seata 将会为更多的开发者解决分布式事务的难题。
– 王良|Apache Seata(incubating)PPMC 成员
Seata 作为一个强大而稳定的开源分布式事务解决方案,为广大开发者在分布式事务的场景下,提供了极大的帮助和便利。贡献给 Apache 将进一步推动项目发展和全球社区的参与度。祝愿在 Apache 的托管下,能够不断发展,更加中立化,标准化,助力全球更多的开发者构建可靠的分布式事务业务。
– 雷志远|Apache Seata(incubating)PPMC 成员
作为一名中间件老兵,有幸见证:微服务浪潮下,源自国内的分布式事务中间件从阿里、蚂蚁内部创新孵化,到商业化,再到开源,一步步走向更广阔的天地,产生更大的价值。相信,捐赠给 ASF 将让 SEATA 成为世界上更多“苦分布式事务久矣”的开发者们的解药!
– 申海强|Apache Seata(incubating)PPMC 成员、前阿里分布式事务中间件核心成员
有幸跟随着这个项目从 Fescar 到 Seata 再到现在捐献给 Apache 基金会,见证了在这四年时间里一间又一间的企业因为 Seata 而解决了分布式事务的难题。现在 Seata 站在了全新的起点上将以开放、包容的姿态去面对每一个用户,悉心聆听每一个声音,开拓出这条能够通往全球的道路。
– 张嘉伟|Apache Seata(incubating) PPMC 成员
非常高兴看到 Seata 成为 Apache 孵化项目,这定会是分布式事务领域的标杆解决方案。从最初的 Fescar 到 Seata,我与你一路相伴,让我们一起努力,期待 Seata 蜕变成 Apache Seata。
– 吴江坷|Apache Seata(incubating)PPMC 成员
在微服务开发模式下,分布式系统的数据一致性常常成为系统的难题。Seata 开源以来,社区积累了各种事务模式解决方案和丰富的用户使用案例。非常高兴 Seata 项目能加入 Apache 基金会,社区将更加开放和多元化,将吸引更多的提交者,帮助更多的用户,项目成为分布式事务的事实标准。
– 王欣|Apache Dubbo 社区 PMC 成员、Apache Seata(incubating)PPMC 成员
写到最后
为促进分布式事务技术的普及和实践,增进 Apache Seata(incubating)使用者的交流与学习,我们将定期邀请业内资深的技术专家,分享实战经验。
欢迎订阅 dev-subscribe@seata.apache.org 邮件组,关注 Apache Seata(incubating)社区技术发展。
Seata 官网:https://seata.io/zh-cn/
相关文章:

你好!Apache Seata
北京时间 2023 年 10 月 29 日,分布式事务开源项目 Seata 正式通过 Apache 基金会的投票决议,以全票通过的优秀表现正式成为 Apache 孵化器项目! 根据 Apache 基金会邮件列表显示,在包含 13 个约束性投票 (binding votes) 和 6 个…...

RFC6749-OAuth2.0
前言 最近在项目中需要实现SSO(单点登录)功能,以实现一处注册,即可在任何平台之间登录的功能。我们项目中并没有直接对接第三方认证系统而是通过集成keycloak 完成一系类安全协议的对接工作。如果我们在代码级别自己完成各种安全协议的对接是一项十分大的工程。不仅要走统一的…...

【代码解析】代码解析之生成token(1)
本篇文章主要解析上一篇:代码解析之登录(1)里的第8行代码调用 TokenUtils 类里的genToken 方法 https://blog.csdn.net/m0_67930426/article/details/135327553?spm1001.2014.3001.5501 genToken方法代码如下: public static S…...

牛客网SQL训练5—SQL大厂面试真题
文章目录 一、某音短视频1.各个视频的平均完播率2.平均播放进度大于60%的视频类别3.每类视频近一个月的转发量/率4.每个创作者每月的涨粉率及截止当前的总粉丝量5.国庆期间每类视频点赞量和转发量6.近一个月发布的视频中热度最高的top3视频 二、用户增长场景(某度信…...

kubeadm来搭建k8s集群。
我们采用了二进制包搭建出的k8s集群,本次我们采用更为简单的kubeadm的方式来搭建k8s集群。 二进制的搭建更适合50台主机以上的大集群,kubeadm更适合中小型企业的集群搭建 主机配置建议:2c 4G 主机节点 IP …...

【java爬虫】使用element-plus进行个股详细数据分页展示
前言 前面的文章我们讲述了获取详细个股数据的方法,并且使用echarts对个股的价格走势图进行了展示,本文将编写一个页面,对个股详细数据进行展示。别问涉及到了element-plus中分页的写法,对于这部分知识将会做重点讲解。 首先看一…...
Python使用余弦相似度比较两个图片
为了使用余弦相似度来找到与样例图片相似的图片,我们需要先进行一些预处理,然后计算每两张图片之间的余弦相似度。以下是一个简单的实现: 读取样例图片和目标文件夹中的所有图片。对每张图片进行预处理,例如灰度化、降噪等。计算…...

树莓派4B-Python使用PyCharm的SSH协议在电脑上远程编辑程序
目录 前言一、pycharm的选择二、添加SSH的解释器使用总结 前言 树莓派的性能始终有限,不好安装与使用高级一点的程序编辑器,如果只用thonny的话,本人用得不习惯,还不如PyCharm,所以想着能不能用电脑中的pycharm来编写…...
Servlet的自动加载、ServletConfig对象、ServletContext对象
一、 Servlet的自动加载 默认情况下,第一次访问servlet的时候,创建servlet对象。如果servlet构造函数里面的代码或者init方法里面的代码比较多,就会导致用户第一次访问servlet的时候比较慢。这个时候,我们可以改变servlet对象的创…...

Vue - Class和Style绑定详解
1. 模板部分 <template><div><!-- Class 绑定示例 --><div :class"{ active: isActive, text-danger: hasError }">Hello, Vue!</div><!-- Class 绑定数组示例 --><div :class"[activeClass, errorClass]">Cla…...

适用于 Windows 的 7 个顶级视频转换器 – 流畅的视频转换体验!
对于任何想要增强视频转换体验的人来说,视频转换器都是必不可少的工具。无论您是需要转换视频文件格式以实现兼容性,还是只是想优化视频以获得更好的质量,可靠的视频转换器都可以使该过程无缝且高效。在这篇博文中,我们将探讨适用…...

Vue3全局属性app.config.globalProperties
文章目录 一、概念二、实践2.1、定义2.2、使用 三、最后 一、概念 一个用于注册能够被应用内所有组件实例访问到的全局属性的对象。点击【前往】访问官网 二、实践 2.1、定义 在main.ts文件中设置app.config.globalPropertie import {createApp} from vue import ElementPl…...

单片机开发--keil5
一.keil5 Keil uVision5是一个集成开发环境(IDE),用于对嵌入式系统中的微控制器进行编程。它是一个软件套件,包括源代码编辑器、项目经理、调试器以及微控制器开发、调试和编程所需的其他工具。Keil uVision5 IDE主要用于对基于A…...
<JavaEE> TCP 的通信机制(三) -- 滑动窗口
目录 TCP的通信机制的核心特性 四、滑动窗口 1)什么是滑动窗口? 2)滑动窗口的作用是什么? 3)批量传输出现丢包如何处理? 1> 接收端ACK丢包 2> 发送端数据包丢包 4)适用性 TCP的通…...

听GPT 讲Rust源代码--library/portable-simd
File: rust/library/portable-simd/crates/core_simd/examples/spectral_norm.rs spectral_norm.rs是一个示例程序,它展示了如何使用Portable SIMD库中的SIMD(Single Instruction Multiple Data)功能来实现频谱规范化算法。该示例程序是Rust源…...

CMake入门教程【基础篇】CMake+Minggw构建项目
文章目录 Minggw是什么Minggw下载CMake下载安装第1步:下载CMake第2步:安装CMake 如何构建和编译项目:使用CMake和MinGW总结 Minggw是什么 MinGW(Minimalist GNU for Windows)是一个免费的软件开发环境,旨在…...

2024年原创深度学习算法项目分享
原创深度学习算法项目分享,包括以下领域: 图像视频、文本分析、知识图谱、推荐系统、问答系统、强化学习、机器学习、多模态、系统界面、爬虫、增量学习等领域… 有需要的话,评论区私聊...

Linux自定义shell编写
Linux自定义shell编写 一.最终版本展示1.动图展示2.代码展示 二.具体步骤1.打印提示符2.解析命令行3.分析是否是内建命令1.shell对于内建名令的处理2.cd命令3.cd函数的实现4.echo命令的实现5.export命令的实现6.内建命令函数的实现 4.创建子进程通过程序替换执行命令5.循环往复…...

堆的应用:堆排序和TOP-K问题
上次才讲完堆的相关问题:二叉树顺序结构与堆的概念及性质(c语言实现堆 那今天就接着来进行堆的主要两方面的应用:堆排序和TOP-K问题 文章目录 1.堆排序1.1概念、思路及代码1.2改良代码(最初建立大堆用AdjustDow) 2. TO…...

element表格排序功能
官方展示 个人项目 可以分别对每一项数据进行筛选 注:筛选的数据不能是字符串类型必须是数字类型,否则筛选会乱排序 html <el-table :data"tableData" border height"600" style"width: 100%"><el-table-co…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...

[拓扑优化] 1.概述
常见的拓扑优化方法有:均匀化法、变密度法、渐进结构优化法、水平集法、移动可变形组件法等。 常见的数值计算方法有:有限元法、有限差分法、边界元法、离散元法、无网格法、扩展有限元法、等几何分析等。 将上述数值计算方法与拓扑优化方法结合&#…...