Balance network loads and track customer transactions via data cache systems
Successful online businesses make it a high priority to ensure that their website information is delivered quickly and efficiently to users. Most employ a number of costly load balancing techniques, usually based on a server farm, to shorten web response times.
During online transactions, to maintain a virtual connection between a customer and an e-commerce website, online retailers often store online transaction information in a cookie file on the user's computer; however, this cookie can become large and unwieldy. An alternative approach is to store transaction information in a database on the website, but accessing a persistent memory device can be slow.
Guaranteeing fast response times in e-commerce transactions can be very challenging.
One answer to this challenge uses a proprietary load balancing system in which each server in a server farm includes a data cache to store all of a customer's transaction information. Because access time of a data cache is significantly less than that of persistent memory devices, this approach significantly reduces website response times.
When a customer first accesses the website, the system selects a server to respond. To ensure that all subsequent interactions go back to that same server, the content in each server is embedded with URLs serving as that server's address. Every future interaction from the customer includes one of the URLs so it can be automatically routed to the original server. A session ID is also generated that identifies the initial web transaction. All customer interactions that follow will include this original session ID, which can locate that customer's transaction information in the data cache.
Current transaction information is stored on both the original server's data cache and in a website database that includes all customer transactions. This way, the server can verify that the stored transaction information in its data cache is up to date before responding to future customer interactions. If for any reason the data is not current, the server can quickly retrieve updated information from the database, thereby ensuring data accuracy, such as in the case of a cache miss.