Other frameworks

There is no mature open-source distributed transaction framework for non-Java languages. Mature open-source distributed transaction frameworks for Java language include Ali's Seata, Huawei's ServiceComb-Pack, Jingdong's shardingsphere, himly, tcc-transaction, ByteTCC and so on, of which Seata is most widely used.

The following is a comparison of the main features of dtm and Seata.

FeaturesDTMSeataRemarks
Supported languagesGolang, python, php and othersJavadtm allows easy access from a new language
Exception handlingSub-transaction barriermanualdtm solves idempotent transaction, hanging, null compensation
TCC
XA
ATAT is similar to XA with better performance but with dirty rollback
SAGASimple modecomplicated state-machine modedtm's state-machine mode is being planned
Transactional Messagingdtm provides Transactional Messaging similar to RocketMQ
Communication protocolsHTTP, gRPCDubbo, no HTTP
star countgithub starsgithub starsdtm 0.1 is released from 20210604 and under fast development

From the features comparison above, if your language stack includes languages other than Java, then dtm is the one for you. If your language stack is Java, you can also choose to access dtm and use sub-transaction barrier technology to simplify your business development.