barrier grpc used
This commit is contained in:
parent
841786f618
commit
d3eb568929
@ -46,7 +46,7 @@ DTM是首款golang的开源分布式事务管理器,优雅的解决了幂等
|
||||
|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的状态机模式在规划中|
|
||||
|事务消息|<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,发展快|
|
||||
|
||||
从上面对比的特性来看,如果您的语言栈包含了Java之外的语言,那么dtm是您的首选。如果您的语言栈是Java,您也可以选择接入dtm,使用子事务屏障技术,简化您的业务编写。
|
||||
|
||||
@ -27,3 +27,11 @@ func (bb *BranchBarrier) Call(db *sql.DB, busiCall dtmcli.BusiFunc) (rerr error)
|
||||
}
|
||||
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
|
||||
}
|
||||
|
||||
@ -79,8 +79,8 @@ func MustBarrierFromGin(c *gin.Context) *dtmcli.BranchBarrier {
|
||||
}
|
||||
|
||||
// MustBarrierFromGrpc 1
|
||||
func MustBarrierFromGrpc(in *dtmgrpc.BusiRequest) *dtmcli.BranchBarrier {
|
||||
ti, err := dtmcli.BarrierFrom(in.Info.TransType, in.Info.Gid, in.Info.BranchID, in.Info.BranchType)
|
||||
func MustBarrierFromGrpc(in *dtmgrpc.BusiRequest) *dtmgrpc.BranchBarrier {
|
||||
ti, err := dtmgrpc.BarrierFromGrpc(in)
|
||||
dtmcli.FatalIfError(err)
|
||||
return ti
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user