210 CHAPTER 8 HIGH-PERFORMANCE DEPLOYMENTS If
Sunday, July 22nd, 2007210 CHAPTER 8 HIGH-PERFORMANCE DEPLOYMENTS If the Web tier can return the response without interacting with the business tier, then it does not disrupt requests that require business tier interactions. In hybrid environments with both Web and non-Web clients, the business tier can have multiple entry points. You do not want your non-Web clients needlessly affecting the performance of the Web tier. The business tier also manages data persistence through the data persistence scheme that you choose. Regardless of the implementation, your business objects will undoubtedly need to interact with a transactional data object model. There is a distinct logical separation between business logic objects and business data objects, but they are so tightly coupled in practical implementations that physically separating them into their own tiers usually degrades performance beyond any benefit you might gain by separating them. Finally, the persistent data stores represent your databases and legacy systems. These are implemented by anything that provides storage and retrieval capabilities. In any production deployment, you should strive to physically separate data stores from your application business tier. Consider the impact of interrupting your business processing with the movement of a read/write head on your hard drive to seek an additional block of data, or the impact of re-indexing a table. Databases are well optimized to perform these operations, but not on the same machine that is running your application server. The best deployment strategy is to separate each tier into distinct application server instances, which may or may not reside on the same physical machine. Furthermore, it is best to have multiple application server instances working together to satisfy requests to each tier. Figure 8-2 shows this deployment strategy. Figure 8-2. Deploying multiple application server instances to service each logical tier As you can see in Figure 8-2, each logical tier can be serviced by multiple application server instances. This has two benefits: More servers can service more load. Availability is enhanced. If one instance goes down, then its load can be redistributed across the remaining instances. The physical separation of tiers introduces some additional complexity in tuning because as you increase the number of thread pools, you introduce additional wait points. But as you tune your environment, you will learn that this separation actually provides much greater control
If you are searching for cheap webhost for your web application, please visit MySQL5 Web Hosting services.