Discussion on server selection of large-scale Java Web system

Source: Internet
Author: User
Tags interface sql java web access tomcat oracle database

A netizen in Javaeye asked about the architecture and deployment selection of a large web system, hoping to improve the service capabilities of existing java-based Web applications. Because architectural patterns and deployment tuning have been a hot topic in the Java community, this issue has sparked a lot of enthusiastic discussion among netizens, some of which have been instructive to other large Web projects as well. At the beginning of the discussion jackson1225 this describes the current application architecture and Deployment scenarios:

The current system architecture is as follows:

The Web layer is implemented by STRUTS+TOMCAT, the whole system adopts more than 20 Web servers, and its load balance is realized by hardware F5.

The middle layer adopts stateless session Bean+dao+helper class to realize, a total of 3 WebLogic servers, the deployment of multiple ejbs, the load balance is also used F5 to achieve;

The operation of the database layer is realized by the common class, two Oracle database servers, which hold the user information and business data respectively, and a SQL Server database is the third party's business data information;

The web layer invokes the EJB remote interface to access the middleware layer. The web layer first invokes the corresponding EJB remote interface through the EJB interface information configured in an XML configuration file.

One operation in the system involved two Oracle libraries and one SQL Server library access and operation, that is, three database connections, completed in a single transaction.

This architecture is actually used by many companies, because struts and Tomcat are the most popular Java WEB MVC frameworks and servlet containers, and F5 's load balancing is a common solution for scaling across (for example, configuring the session sticky scenario). Since there are transactions across the data source in this system, it is possible to use the WebLogic Server EJB container and support two-phase commit database drivers to guarantee the integrity of things across the data source (of course, container-managed distributed transactions are not the only and optimal solution).

But with the popularity of Rod Johnson's heavyweight book, "Java Development without EJB" and the spring framework, the concept of lightweight frameworks and lightweight containers has been pervasive. So for the jackson1225 proposed this scene, most netizens have questioned, that the system misuse of technology, is a waste of money. Most users think that SLSB (stateless session bean) is completely unnecessary to appear in this scenario, that SLSB access to local resources through the remote interface will have a significant performance overhead, this view is also Rod Johnson in without EJB critical EJB 2.x in a large reverse mode.



Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.