Chapter 7. Persistence, Security, and the Internet


Persistence, or "stickiness" as it is sometimes referred to, is the mechanism used to ensure that the same user is connected to the same load balanced service for the duration of the session. With the advent of content switches and their load balancing ability to direct users to different backend servers, the need to maintain persistence has increased. Different load balancing metrics can be used to distribute the load and can often send the user from one server to another for different sessions as part of a single conversation. For a lot of content, this is satisfactory, as it increases site performance and enhances the user experience. However, the users' experience will be severely diminished if they are in the process of performing a transaction and are suddenly sent to another server that has no idea about the information just submitted. Persistence can be implemented in many ways, which we will look at later in this chapter.

The application will dictate whether persistence is required. E-commerce applications, or those that are connecting to a backend database, are the most common, as they have information that is specific to the user and require this when a user is filling out forms or adding items to his or her shopping basket for check out and payment. This transaction needs to be handled by a single server to ensure that all online information entered is tracked and associated to that user. Figure 7-1 shows what happens when a session that requires persistence is broken. In addition, the use of persistence ensures that there is no duplication of data, the database records are opened by one process, no data is lost or corrupt, and the record is cleanly closed and updated on completion. Sharing this among multiple front-end servers is not a recommended mechanism. Each server will need to communicate with one another in order to have visibility of the entered data. If encryption is being used, each server will need to perform the processor- intensive key exchange, and to make matters worse , if a load balancing metric such as round robin is used, this process will have to be repeated as each session is closed and reopened. This is not a viable option and would place far too big an overhead on the transaction servers. These servers should be concentrating on processing data as quickly as possible before sending it back to the origin in order to increase performance and site availability.

Figure 7-1. Why persistence is required in e-commerce transactions. Without persistence, we can see that a session from a user breaks.

graphics/07fig01.gif

Therefore, with persistence, we need to understand that there are certain issues when trying to implement it into your networks. This is further exacerbated when connecting to the Internet or other infrastructures not under our control.



Optimizing Network Performance with Content Switching
Optimizing Network Performance with Content Switching: Server, Firewall and Cache Load Balancing
ISBN: 0131014684
EAN: 2147483647
Year: 2003
Pages: 85

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net