V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
RememberCurry
V2EX  ›  程序员

easycar:一个用 Go 实现的分布式事务框架

  •  
  •   RememberCurry · 2022-11-06 17:29:28 +08:00 · 1195 次点击
    这是一个创建于 530 天前的主题,其中的信息可能已经有所发展或是发生改变。

    easycar 是什么?

    easycar 是一个用 go 实现的支持两阶段提交协议的分布式事务框架。它的全称是(easy commit and rollback).

    更多关于 easycar 看这篇文章:easycar

    架构图

    easycar

    Features

    同时支持协议和事务模式混用

    在一组分布式事务中,每个 RM 可以使用不同的传输协议(HTTP/gRPC),也可以使用不同的事务模式(TCC/Sage...),因此允许 RM 协议和事务模式的混合使用。

    支持并发执行事务

    支持分层并发执行每个 RM 。 对参与的 RM 设置分层,同一层的 RM 可以并发调用,一层处理完毕再接下一层。

    服务注册和发现

    暂时只支持 etcd 。

    负责均衡

    提供:

    • IPHash
    • ConsistentHash
    • P2C
    • Random
    • R2
    • LeastLoad
    • Bounded

    成功的例子

    success

    失败的例子

    failed

    状态

    global

    Easycar: https://github.com/wuqinqiang/easycar

    Client-go: https://github.com/easycar/client-go

    Examples: https://github.com/easycar/examples

    觉得还行,star 支持一下,大佬轻喷

    3 条回复    2023-01-08 02:29:17 +08:00
    xykjlcx
        1
    xykjlcx  
       2022-11-07 10:14:14 +08:00
    老哥,图是用什么软件画的
    RememberCurry
        2
    RememberCurry  
    OP
       2022-11-07 10:48:03 +08:00
    Figma
    Comolli
        3
    Comolli  
       2023-01-08 02:29:17 +08:00 via iPhone
    Marrk
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2718 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 05:26 · PVG 13:26 · LAX 22:26 · JFK 01:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.