Getting lots of deadlocks on multimaster cluster

Hi all

ENVIRONMENT

Single 7 node Percona cluster

Datacenter1: (In use applications)
Percona node1
Percona node2
Percona node3
Percona node4

Datacenter2: (Disaster recovery only)
Percona node5
Percona node6
Percona node7

LOTS OF DEADLOCKS

We have an 4 node web application that is load balanced which connects to percona nodes like below:
We are getting lots of deadlock errors, out of 500 requests we get about 80-90 success.

webapp1 -> Percona node1
webapp2 -> Percona node2
webapp3 -> Percona node3
webapp4 -> Percona node4

VERY FEW DEADLOCK ERRORS

If we point all webapps to a single Percona node like below, we get very little deadlocks?

webapp1 -> Percona node1
webapp2 -> Percona node1
webapp3 -> Percona node1
webapp4 -> Percona node1

Can anyone please advise how we can fix this issue? We would like to use a true multi master percona cluster.

Thanks

besides doing it on apps config (if possible) to seperate read write on different nodes, I also would like to know the alternative or is it galera is not mature enough?

http://severalnines.com/blog/avoiding-deadlocks-galera-set-haproxy-single-node-writes-and-multi-node-reads