The document discusses 3 common pitfalls in microservice integration:
1. Asynchronicity - asynchronous communication introduces complexity in monitoring timeouts.
2. Distributed transactions - distributed transactions are challenging due to the possibility of temporarily inconsistent states. Compensation patterns can help address this.
3. Communication complexity - communication between services is complex due to failures, retries, and idempotency requirements.
It recommends using workflow engines to help address these pitfalls by enabling stateful retries, timeouts, compensation, and keeping failures local. This provides better resilience compared to traditional messaging approaches.