[1]: http://www.martinfowler.com/articles/enterprisePatterns.html
[2]: http://www.amazon.co.uk/Enterprise-Integration-Patterns/dp/8...
[edit: beefed up]
http://www.amazon.com/Enterprise-Integration-Patterns-Design...
Covers stuff like: RPC, messages, channels, etc.
* Enterprise Integration Patterns (basically an entire book about messaging architectures) [1] * Vaughn Vernon's books and online writing [2], * Domain Driven Design by Eric Evans [3], * and most of what Greg Young, Udi Dahan, and that constellation of folks has done online (lots of talks and blog articles.)
Depending on your platform of choice, there may be others worth reading. For my 2¢, the dragons are mostly in the design phase, not the implementation phase. The mechanics of ES are pretty straightforward—there are a few things to look out for, like detection of dropped messages, but they're primarily the risks you see with any distributed system, and you have a collection of tradeoffs to weigh against each other.
In design, however, your boundaries become very important, because you have to live with them for a long time and evolving them takes planning. If you create highly coupled bounded contexts, you're in for a lot of pain over the years you maintain a system. However, if you do a pretty good job with them, there's a lot of benefits completely aside from ES.
[1] https://www.amazon.com/Enterprise-Integration-Patterns-Desig...
[2] https://vaughnvernon.co
[3] https://www.amazon.com/Domain-Driven-Design-Tackling-Complex...