A computer-implemented method, comprising: receiving a transaction request from an application for a distributed transaction across a plurality of microservices with multiple databases; generating a transaction identifier for the transaction request, the transaction identifier identifying a database service of a database server; generating a local commit request to a local transaction manager corresponding to a database of a microservice of the plurality of microservices associated with the transaction request, in response to receiving the transaction request; providing the transaction identifier to the application, the application configured to invoke the local commit request to the database service using the transaction identifier; confirming a lack of conflict for the transaction request based on the local commit request from the local transaction manager and on a local cache of the local transaction manager and the transaction identifier, a local commit decision indicating the lack of conflict, wherein the local cache stores logs of committed transactions performed on the database server of the database service; receiving a plurality of local commit decisions from a plurality of local transaction managers associated with the transaction request; generating a global commit decision based on the plurality of local commit decisions; communicating the global commit decision to the local transaction manager; and generating a physical commit request to the local transaction manager, in response to the lack of conflict, wherein the local transaction manager is configured to submit the physical commit request to the database server of the database service based on the global commit decision, the database server corresponding to the transaction request. receiving a transaction request from an application for a distributed transaction across a plurality of microservices with multiple databases; generating a transaction identifier for the transaction request, the transaction identifier identifying a database service of a database server; generating a local commit request to a local transaction manager corresponding to a database of a microservice of the plurality of microservices associated with the transaction request, in response to receiving the transaction request; providing the transaction identifier to the application, the application configured to invoke the local commit request to the database service using the transaction identifier; confirming a lack of conflict for the transaction request based on the local commit request from the local transaction manager and on a local cache of the local transaction manager and the transaction identifier, a local commit decision indicating the lack of conflict, wherein the local cache stores logs of committed transactions performed on the database server of the database service; receiving a plurality of local commit decisions from a plurality of local transaction managers associated with the transaction request; generating a global commit decision based on the plurality of local commit decisions; communicating the global commit decision to the local transaction manager; and generating a physical commit request to the local transaction manager, in response to the lack of conflict, wherein the local transaction manager is configured to submit the physical commit request to the database server of the database service based on the global commit decision, the database server corresponding to the transaction request.