Hybrid Synchronous / Asynchronous Replication? We have a situation where we would like to have synchronous replication in our main data center, but replicate asynchronously to another region. Our second data center is 3,000 miles away (Site B) and we use it as a warm backup in case we need to failover our primary data center (Site A) due to a data center failure.

We are not storing any financial or transactionally sensitive data. Our data is important, of course, but it is not critical to that degree, it consists primarily of updates to website content from content editors.

We are interested in using either Percona XtraDB or Galera Cluster in Site A mixed with something like MySQL, MariaDB or Percona Server for Site B, but don't know if this is even possible or how we might implement such a solution. Can we have a synchronous replication scheme in Site A with an asynchronous backup to the Site B servers? Would we be able to maintain a multi-master implementation in Site A with replicas in Site B?

If it is possible, I assume it would require multiple technologies. What technologies or configurations are feasible solutions?
It's simpler that you may expect.

Use one of the nodes in the Galera/PXC cluster as the master for the async replica.  

The node acting as master for the slave needs the following additional configuration parameters for this to work:

log_bin
log_slave_updates
binlog_format = ROW


Connect an asynchronous MySQL/Percona/MariaDB slave to it using a normal asynchronous master/slave replication configuration.

That should be about it.  The slave ideally will be the same flavor and release series as the cluster nodes, either MariaDB or Percona on both ends, though a MariaDB slave is pretty much always a safe bet, regardless of the master.  In no case should the slave run an older version, so when you do upgrades, always upgrade the slave first.  You can also subtend additional slaves from the first one, or connect a second slave to a different cluster node as its master.

Bonus: enable slave_compressed_protocol on the slave so that the data streamed from the master is compressed on the wire.