Explanation of related concepts
The concept of system foreground, system background, server cluster, distributed, maven, SVN, fail over and load balancing.
1. System front desk
Here, I’m taking Guangxi Mobile e-mall project I’m working on as an example
The front desk of the system is for the users who visit the website, that is, the page displayed to the users who visit the website. Users can order the terminal marketing case of Guangxi Mobile through the front desk of the system, and then view the order status and modify personal information through the user center.
The main function modules include commodity type, commodity retrieval, home channel page single product page, marketing topic, order payment, shopping process, customer center and help center;
2. System background
Here I also take the Guangxi Mobile e-mall project that I am doing as an example
The background of the system is for the internal staff of Guangxi Mobile, through a series of functions to facilitate its management and operation of Guangxi Mobile mall. The main functions include commodity management, category management, marketing case management, order management, supplier management, distributor management, member management, warehouse management, reconciliation management, interaction management and authority management;
3. Business split
General e-commerce websites can be divided into product subsystem and shopping subsystem according to business attributes,
Payment subsystem, comment subsystem, customer service subsystem, interface subsystem (such as SMS and other external systems)
According to the importance of these subsystems, they are divided into core system and non core system.
As shown in the figure below:
The role of business splitting:
First, it is divided into subsystems, so that each subsystem or server can be responsible by a special team to solve the coupling and scalability problems between modules, that is, each subsystem is relatively independent.
Second, after splitting into subsystems, each subsystem is separately deployed on the server. If it is centrally deployed on one server, when the server is down, the whole system will not be able to use.
4. Server cluster and distribution
Distributed refers to the distribution of the split subsystem modules (business) on different servers, which is to improve the efficiency by increasing the number of business processing per unit time; while cluster refers to the concentration of several servers to run the same subsystem module (business), which is to improve the efficiency by increasing the number of tasks executed by a business function module per unit time Improve efficiency. Every node in the distributed system (every subsystem module after splitting) can be clustered. But clusters are not necessarily distributed. (Figure 1)
In short, distributed computing improves efficiency by shortening the execution time of a single task, while cluster computing improves efficiency by increasing the number of tasks per unit time.
5. Maven construction project
Maven is an open source project management tool written in pure Java. Maven uses a concept called project object model (POM) to manage projects. What does it mean? POM refers to the project object model, that is, the project is managed as an object. All the project configuration information is defined in a POM.xml Maven can manage the whole life cycle of a project, including cleanup, compilation, testing, reporting, packaging, war, deployment, etc.
Projects built with Maven have two characteristics
In a nutshell, it’s directly through pom.xml Configuration files automatically associate various scattered projects, without our programmers to manually manage and maintain the dependencies between these projects (including jars). This is the first feature of Maven dependency management. (Figure 2)
—-Project auto build
Project construction is a matter in the deployment phase, which mainly refers to the packaging of the code written by developers (as long as the web project is packaged as war package, it can be deployed and used). Of course, this process is not only a packaging, which includes cleaning, compiling, testing and reporting. This process is the project construction process. But give Maven these actions, including package, Maven will automatically help you do well. We don’t have to do it manually. This is the second feature of Maven project. The project is built automatically.
First solve the dependency problem among the three ABC modules, and then use the parent project to manage and maintain the three ABC modules (aggregation), as long as the pom.xml File configuration on the line, we do not need to manually maintain these relationships.
If you need more video materials, you can add VX: lezijie007 (note code 17). If you don’t prepare, you will refuse to add it
6. SVN version controller
To put it simply, it is to manage the code we have written. Every time developers finish writing some code, they have to upload the code to the SVN server. Then other developers or testers can take the code from the SVN server and continue to develop another module or test.
7. Fail over and load balancing
Failure transfer: simply speaking, if a server in a cluster is broken, users on that server should be transferred to other servers. This process is unknown to users.
Load balancing: simply speaking, when multiple users access concurrently, the servers in the cluster share the pressure of users’ concurrent access, but it is not necessarily evenly distributed.
The above two concepts not only appear in the field of web server, but also in the field of database.
For example, in Oracle database
Fail over: if an Oracle server in a cluster breaks down, users on that Oracle server should be transferred to other Oracle servers.
Load balancing: when multiple users access concurrently, Oracle servers in the cluster share the pressure of users’ concurrent access, but not necessarily equally distributed.