Usually, a microservice is designed in such way as to be independent and useful on its own. It should be able to solve some atomic business task.
freestar
If we could split our system in such microservices, there's a good chance we wouldn't need to implement transactions between them at all.
For example, let's consider a system of broadcast messaging between users.
The user microservice would be concerned with the user profile (creating a new user, editing profile data etc.) with the following underlying domain class: