Advice on architecting scalable web site
Hello,I'm looking to design a scalable web site using lots of low-end 1u web/database/mail servers colo'd at a data center. I have a basic idea of what I want my initial architecture to be, but I have alot of holes in my knowledge that I hope some people here can help with.
Desired basic design:
- Web server pool: 2x 1u p4 units running Apache
- MySQL server pool: 3x 1u p4 units. Was thinking of running MySQL cluster, any better way to use a non-cluster setup and reduce to 2x 1u boxes?
- MTA (e-mail) server pool: Planning on running qmail, should I have a dedicated box to handle sending/receiving of e-mail? Or should I put the web servers to a dual use? The site will eventually be handling a high volume of e-mail.
- Load balancing: Not sure how this works at a colo site - will I need to buy my own load balancer hardware, or will they be able to configure this to my specs?
- DNS server: Same basic question as above - does the colo manage the DNS services, or will I provide this?
- 100Mb switch: Plan to use this to allow backend communication between:
- web server pool <--> mysql server pool
- web server pool <--> MTA server pool
- mysql server pool <--> MTA server pool
- Assuming only web server, DNS, and MTP