There are multiple ways to replicate from multiple "masters" to a single slave. We have currently done this. Here are 2 options -
Before suggesting - I mean multiple masters as separate data sources and not in the typical master being replicated to another master. These masters have independent data and have no relationship with data in other masters. To be more precise - Master-1 - databases A,B,C, Master-2 databases - D,E,F.
Use tungsten replicator from continuent that provides a non-sql way to replicate from multiple masters.
MySQL 5.7 provides multi source replication , using native replication. Each master is set up as a separate channel and each channel can be started , stopped , skipped as we do with a single master prior to 5.7. However, we found that performance wise this was an issue as one of the slave threads got into a system lock and the replication speed was quite slow. However on servers where we had lower transaction rates (< 100 tx per minute) the replication was working fine. As we had a timeline and near realtime requirement for replicated data, we dismantled 5.7 and continued with Tungsten.
So far Tungsten has worked flawlessly without any issue. (FAN -IN replication topology).