问题
When you move beyond using one instance for your database, what is the best practice when using EC2? If the first instance is a master and you're spinning up slaves, they would need to scan the transaction log and bring themselves up to date before the slaves are useable correct? If the master had been running awhile and was busy, this could take a very long time, right? Is it smarter to use something besides master-slave on EC2? I've seen MySQL Enterprise has support for EC2 but it wasn't clear (to me) on the MySQL site what features this adds. Does it have some added functionality that makes spawning new instances fast and turnkey-like?
Fundamentally, I'm trying to figure how you auto-scale the database.
回答1:
You could also use the Amazon RDS (their version of MySQL in the cloud) and get out of the running a MySQL server business altogether (you'll pay slightly more per server instance but you can do database snapshots/etc.).
Amazon RDS currently supports five DB Instance Classes, starting at 11 cents an hour going all the way to $3.10 an hour:
* Small DB Instance: 1.7 GB memory, 1 ECU (1 virtual core with 1 ECU), 64-bit platform.
* Large DB Instance: 7.5 GB memory, 4 ECUs (2 virtual cores with 2 ECUs each), 64-bit platform
* Extra Large DB Instance: 15 GB of memory, 8 ECUs (4 virtual cores with 2 ECUs each), 64-bit platform
* Double Extra Large DB Instance: 34 GB of memory, 13 ECUs (4 virtual cores with 3,25 ECUs each), 64-bit platform
* Quadruple Extra Large DB Instance: 68 GB of memory, 26 ECUs (8 virtual cores with 3.25 ECUs each), 64-bit platform
来源:https://stackoverflow.com/questions/2418659/mysql-in-aws-ec2-how-does-it-scale