This document discusses communication patterns in microservices architectures. It compares synchronous vs asynchronous communication and how they impact coupling between services. It defines different types of coupling, such as implementation, temporal, deployment, and domain coupling, and provides recommendations for how to reduce or manage each type of coupling. Remote communication patterns like circuit breakers, retries, and sagas are presented for surviving communication failures between loosely coupled services.