barrier grpc used

This commit is contained in:
yedf2 2021-08-12 18:20:44 +08:00
parent 841786f618
commit d3eb568929
3 changed files with 11 additions and 3 deletions

View File

@ -46,7 +46,7 @@ DTM是首款golang的开源分布式事务管理器优雅的解决了幂等
|AT事务|<span style="color:red"></span>|<span style="color:green"></span>|AT与XA类似性能更好但有脏回滚| |AT事务|<span style="color:red"></span>|<span style="color:green"></span>|AT与XA类似性能更好但有脏回滚|
| SAGA事务 |<span style="color:orange">简单模式</span> |<span style="color:green">状态机复杂模式</span> |dtm的状态机模式在规划中| | SAGA事务 |<span style="color:orange">简单模式</span> |<span style="color:green">状态机复杂模式</span> |dtm的状态机模式在规划中|
|事务消息|<span style="color:green"></span>|<span style="color:red"></span>|dtm提供类似rocketmq的事务消息| |事务消息|<span style="color:green"></span>|<span style="color:red"></span>|dtm提供类似rocketmq的事务消息|
|通信协议|HTTP|dubbo等协议无HTTP|dtm后续将支持grpc类协议| |通信协议|HTTP、GRPC|dubbo等协议无HTTP||
|star数量|<img src="https://img.shields.io/github/stars/yedf/dtm.svg?style=social" alt="github stars"/>|<img src="https://img.shields.io/github/stars/seata/seata.svg?style=social" alt="github stars"/>|dtm从20210604发布0.1,发展快| |star数量|<img src="https://img.shields.io/github/stars/yedf/dtm.svg?style=social" alt="github stars"/>|<img src="https://img.shields.io/github/stars/seata/seata.svg?style=social" alt="github stars"/>|dtm从20210604发布0.1,发展快|
从上面对比的特性来看如果您的语言栈包含了Java之外的语言那么dtm是您的首选。如果您的语言栈是Java您也可以选择接入dtm使用子事务屏障技术简化您的业务编写。 从上面对比的特性来看如果您的语言栈包含了Java之外的语言那么dtm是您的首选。如果您的语言栈是Java您也可以选择接入dtm使用子事务屏障技术简化您的业务编写。

View File

@ -27,3 +27,11 @@ func (bb *BranchBarrier) Call(db *sql.DB, busiCall dtmcli.BusiFunc) (rerr error)
} }
return err return err
} }
// BarrierFromGrpc 从BusiRequest生成一个Barrier
func BarrierFromGrpc(in *BusiRequest) (*BranchBarrier, error) {
b, err := dtmcli.BarrierFrom(in.Info.TransType, in.Info.Gid, in.Info.BranchID, in.Info.BranchType)
return &BranchBarrier{
BranchBarrier: b,
}, err
}

View File

@ -79,8 +79,8 @@ func MustBarrierFromGin(c *gin.Context) *dtmcli.BranchBarrier {
} }
// MustBarrierFromGrpc 1 // MustBarrierFromGrpc 1
func MustBarrierFromGrpc(in *dtmgrpc.BusiRequest) *dtmcli.BranchBarrier { func MustBarrierFromGrpc(in *dtmgrpc.BusiRequest) *dtmgrpc.BranchBarrier {
ti, err := dtmcli.BarrierFrom(in.Info.TransType, in.Info.Gid, in.Info.BranchID, in.Info.BranchType) ti, err := dtmgrpc.BarrierFromGrpc(in)
dtmcli.FatalIfError(err) dtmcli.FatalIfError(err)
return ti return ti
} }