Then it sounds like you can only have a true microservice architecture if your application doesn't really need transactional guarantees, consistency or fault tolerance.
At the end of the day, it comes down to:
- how far does the data have to travel, and at what cost?
- how much latency can your process tolerate?
- how much unreliability can your process tolerate?
- where and how do you isolate resources that are concurrency sensitive?
- what's the infrastructure going to cost?