Skip to content

nilorg/outbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

outbox 发件箱模式

基于EventBus,使用Go语言实现最终一致性的微服务分布式事务解决方案

支持的数据库引擎

  • GORM - 使用 GORM ORM 框架
  • Sqlx - 使用 jmoiron/sqlx 库
  • SqlxPlus - 使用 nilorg/sqlxplus 库(支持 ExecTransaction)

快速开始

使用 GORM

import (
    "github.com/nilorg/outbox"
    "gorm.io/gorm"
)

// 创建 GORM 引擎
engine, err := outbox.New(outbox.EngineTypeGorm, db, eventBus)

使用 Sqlx

import (
    "github.com/nilorg/outbox"
    "github.com/jmoiron/sqlx"
)

// 创建 Sqlx 引擎
engine, err := outbox.New(outbox.EngineTypeSqlx, db, eventBus)

使用 SqlxPlus

import (
    "github.com/nilorg/outbox"
    "github.com/jmoiron/sqlx"
)

// 创建 SqlxPlus 引擎 (支持 sqlxplus.ExecTransaction)
engine, err := outbox.New(outbox.EngineTypeSqlxPlus, db, eventBus)

使用示例

详细示例请参考:

About

使用Go语言实现最终一致性的微服务分布式事务解决方案

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages