First of all, apologies if this is slightly out of the scope of the forum. The website is in php but this issue isnt really related directly to php.I couldn't find a suitable forum but suggestions are welcome.
I do the website for a small e-commerce company. People order and pay for goods on the site. I'm due to transfer my company website to a new server host. The new hosts have sensibly suggested taking the site down while the dns updates, but naturally we're not too keen if this can be avoided.
We've considered the mechanics of the site and THINK we can carry on running the site as normal. This is because the crucial stages of the process pass data between pages via POST variables. So we're thinking that even if the dns for a particular user's ISP updates to our new server during an order, the data will be passed along with the browser request, so it doesnt matter that the request arrives at a different server to the previous request.
Any more informed opinions would be welcomed!
Here's how the site works:
1. The user browses the site and chooses to put things in their shopping cart. This info is stored in a shopping cart array in the session.
2. This continues until the user comes to the checkout and puts in their personal info. Hereafter data is passed via POST variables.
3. Upon confirming the details of the order, the page directs to an external payment processing site. (this is done via POST)
4. Having processed the payment the customer is directed back to our site. (again, this is done via POST)
5. Upon arriving back at our site with data on whether the payment is OK, the order is written to the database.
So we are thinking that if the dns updates during browsing our site, the shopping cart array would drop out of the session, but that's no big deal.
If the dns updates while passing personal information to the external payment processors, the data would still be in the POST when it arrives at the next page on the new server, and we can then write it into the database.
Are there any holes in this reasoning? Naturally we'd have to keep track of the orders on each server, so we'd start with empty order tables, and then amalgamate them at the end of the exercise.
Thanks for reading this far,
Cheers
Shaun