226
Chapter 11 Scalability and Availability Overview
Another approach to solving the same problem is to store client variables in a
back-end common state repository. This approach enables all Web servers
comprising the cluster to access variables in a common, shared back-end data store,
such as a database. However, you must be aware that this approach can potentially
impact your site’s performance.
Web developers must think through the various user scenarios in which application
session and state are affected and engineer appropriate mechanisms for elegantly
handling such situations. The three most common ways to handle session data are:
•
Client-side options consisting of cookies, hidden fields, a get list, or URL
parameters
•
Server-side session variables
Note
Storing session data on the server requires that a simple identifier be stored on
the client, such as a cookie.
•
An open state repository consisting of either a common back-end database or
some other shared storage device
Whatever mechanism your architects and engineers use, it’s important that they
anticipate the scenarios in which maintaining an application’s state is vital to a good
user experience. See
“Session-Aware Load Balancing” on page 276
.
Database locking and concurrency issues
Dynamic Web applications, those that allow users to modify a database, must ensure
appropriate database concurrency handling. Database concurrency handling refers
to how an application manages multiple concurrent user requests when accessing
the same database records. If an application does not impose any database locking
mechanism on multiple requests to update the same record, data integrity can be
compromised in the database. In such a scenario, two users could make
simultaneous modifications to a record, but only the last change would take effect.
For example, consider a Human Resources Web application on a company intranet.
The HR Generalist adds two new employee records to the HR database by filling out a
Web form because two new employees have just been hired. The Generalist enters
most of the vital information into the records but doesn’t yet have the new
employees’ phone extensions or HMO selections, and therefore leaves those fields
blank. Later in the day, the HR Generalist’s boss, the HR Director, obtains this
information from both new hires and decides to enter it in the database herself.
However, one of the new employees, after speaking with her husband, decides to
change her HMO selection from the basic selection to the PPO choice, which allows
greater flexibility in choosing physicians. The employee calls the HR Generalist to tell
him of the change, and the Generalist says he will take care of it immediately.
Unbeknownst to the HR Director, the HR Generalist adds the information into the
employee records at the same time that the HR Director is attempting to add the
outdated information.
Содержание COLDFUSION 5-ADVANCED ADMINISTRATION
Страница 1: ...Macromedia Incorporated Advanced ColdFusion Administration ColdFusion 5...
Страница 20: ......
Страница 56: ...38 Chapter 1 Advanced Data Source Management...
Страница 74: ...56 Chapter 2 Administrator Tools...
Страница 76: ......
Страница 86: ...68 Chapter 3 ColdFusion Security...
Страница 87: ...To Learn More About Security 69...
Страница 88: ...70 Chapter 3 ColdFusion Security...
Страница 130: ...112 Chapter 5 Configuring Advanced Security...
Страница 132: ......
Страница 154: ...136 Chapter 6 Configuring Verity K2 Server...
Страница 162: ...144 Chapter 7 Indexing XML Documents...
Страница 202: ...184 Chapter 8 Verity Spider...
Страница 236: ...218 Chapter 10 Verity Troubleshooting Utilities...
Страница 238: ......
Страница 348: ...330 Chapter 14 ClusterCATS Utilities...
Страница 349: ...Using sniff 331...
Страница 350: ...332 Chapter 14 ClusterCATS Utilities...
Страница 362: ...344 Chapter 15 Optimizing ClusterCATS...
Страница 372: ...354 Index...