I have a question regarding Load Sharing for large websites.
So if you have a website that has millions of fits a day you will need to have an architecture that can support this sort of pressure. You can either do one or two things:
- Invest in a single large server that has huge amounts of processing power, memory and storage (such as Microsoft's TerraServer).
- Spread the load of your website across a number of machines.
Let me tackle the second approach, so you have a collection of machines all running Web Server Software and all having access to identical copies of the websites pages. You can either spread the load across these machines using a cyclic pattern in a DNS or you can use a Load Ballancing Switch.
The advantages of this approach is: - Redundancy - servers can fail and the others would "pick up the slack" - Incremental - the ability to easily add new machines to this set-up.
- Is there a Virtual approach to this issue of load balancing now?
- If the website runs from a database - is there still only a single copy of the database?
- If a user had a session running on one Server (e.g. they had gone to www.example.org and had been assigned to Server 2 - were they had created a session) if they refreshed the website (and were allocated Server 3) would they still have their session?
- What are the other disadvantages associated with Load Balancing?