首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏CNCF

    分布式事务框架 seata-golang 接入指南

    seata-golang 是一个分布式事务框架,实现了 AT 模式和 TCC 模式,AT 模式相较 TCC 模式对代码的入侵性更小、需要开发的接口更少;但 AT 模式对事务操作的数据持有全局锁,从这点来说 不同于作为解释型语言的 Java,Go 是一种编译型语言,所以 seata-golang 使用了反射技术实现动态代理功能,被代理的对象需要实现 GlobalTransactionProxyService seata-golang 要代理该 *Svc 对象,需要创建一个代理对象,被代理的方法要在代理对象中作为一个空方法成员,等待 seata-golang 去动态实现。 这意味着你可以同时使用 orm 框架和 seata-golang 框架,当你的操作需要用到事务时,用 seata-golang 的 db 操作对象去执行 sql 语句。 开发者调用 Try 方法,seata-golang 框架调用 Confirm/Cancel 方法。框架根据所有分支事务 Try 方法是否都执行成功,来决定发起全局提交或回滚。

    3.5K10发布于 2021-03-15
  • 来自专栏dbmesh

    高性能事件驱动的分布式事务架构设计

    二、分布式事务的事件驱动架构 在 2020 年,本文作者开源了 Go 语言的分布式事务框架 Seata-GolangSeata-Golang 实现 AT 模式和 TCC 模式,这两种模式都是过程驱动。 图片 Seata-Golang 的用户经常会问一个问题,事务协调者 TC Server 怎么做高可用? 采用 hptx 的应用事务协调性能比 Seata-Golang 提升 1 倍,通过 dbpack 以 mesh 方式协调分布式事务性能比 seata-golang 提升了百分之 50。 四、结语 经过持续地在分布式事务领域的研究总结,使分布式事务框架不断进化,从最初的兼容 java seata 的 seata-golang v1 版本,到云原生的、无侵入的、基于 grpc 的 seata-golang

    1.3K63编辑于 2022-06-30
  • 来自专栏dbmesh

    中国电子云数据库 Mesh 项目 DBPack 的实践

    在采用代理使连接增加一跳的情况下,它的性能相比采用 MYSQL 存储的分布式事务解决方案 seata-golang 性能提高了百分之 50。 图片 上图展示了 seata-golang 协调一个分布式事务的交互逻辑。 核心的事务协调逻辑代码包括配置代码都比 Seata-golang 大幅减少。所以 DBPack 以全新的云原生的思路,带了更简洁的架构和更高的性能。 seata-golang 事务协调核心代码 dbpack 事务协调核心代码 DBPack 支持所有微服务编程语言,samples 中已提供了 Go 语言和 Java 语言的例子,PHP 和 Python 实际上 seata-golang 诞生之时就支持在分支业务执行端注册 TCC 事务分支,但大家可能没有深入思考这个问题,机械地认为事务悬挂必然会发生。

    55030编辑于 2022-06-30
  • 来自专栏dbmesh

    使用强大的DBPack处理分布式事务(PHP使用教程)

    新兴的AT事务解决方案,例如Seata和Seata-golang,通过数据源代理层的资源管理器RM记录SQL回滚日志,跟随本地事务一起提交,大幅减少了数据的锁定时间,性能好且对业务几乎没有侵入。 其缺点是支持的语言比较单一,例如Seata只支持Java语言类型的微服务,Seata-golang只支持Go语言类型的微服务。 就职于日本楽天 Rakuten CNTD,任 Application Engineer,熟悉 AT 事务、Seata-golang 和 DBPack。

    72430编辑于 2022-07-04
  • 来自专栏我要变牛

    你才不是只会理论的女同学-seata实践篇

    华为 同时看下华为的分布式事务解决方案,相比于seata直观的就是多了交互命令行,从上面例子也可以看出seata目前还只能通过数据库查看结果 其他和seata类似提供了TCC和非侵入两种方案 seata-golang 参考容器时代:seata-golang 接入指南 总结 例子中涉及的代码已上传到github https://github.com/stevenniu9527/nerry 如果有时间还是建议自己敲一遍代码

    60440发布于 2021-05-28
  • 来自专栏HHFCodeRv

    Go 网络库 getty 的那些事

    至此,Getty 中 server 的处理流程大体如下图: 对于这些接口的使用,除了 getty 自身提供的代码示例外,另一篇极好的例子就是 seata-golang,感兴趣的朋友可参阅 《分布式事务框架 seata-golang 通信模型》一文【参考 6】。 dubbogo 基于 hessian2 协议的 RPC 层; - 2019 年 5 月,加入固定大小 goroutine pool; - 2019 年底,刘晓敏同学告知其基于 Getty 实现了 seata-golang 陆续参与和改进过 Redis/Pika/Pika-Port/etcd/Muduo/Dubbo/dubbo-go/Sentinel-golang/Seata-golang 等知名项目,目前在蚂蚁集团可信原生技术部从事云原生工作 DWg 5 2021年Go生态圈rpc框架benchmark https://colobu.com/2021/08/01/benchmark-of-rpc-frameworks/ 6 分布式事务框架 seata-golang

    1.3K20发布于 2021-09-15
  • Spring Cloud微服务架构下Seata分布式事务解决方案:AT与TCC模式深度解析与实战指南

    [1] : https://www.seata.io/docs/v2.4/overview/what-is-seata/ [2] : https://www.seata.io/zh-cn/blog/seata-golang

    83010编辑于 2025-11-29
领券