Evolution of large-scale website architectures (9) servitization and website Architecture Evolution
As the business is smaller and smaller, and each application is independently deployed and maintained, such architecture has the following problems:
1. The number of database connections. If each application is connected to an existing database, the number of database connections exceeds the limit when the cluster and concurrent access volume are large. Of course, if each application has its own database, this problem does not exist.
2. code reuse: some basic information exists in various applications, such as user information, which leads to code duplication and becomes difficult to maintain.
Servitization
Servitization is to provide the business operations that every application needs to perform, such as employee information and customer information, and then independently deploy and maintain the services that can be reused to connect to the database, a Shared Service (api interface) is provided, and the application system only needs to manage the user interface and complete specific business operations through remote service calls. The architecture is as follows:
Summary:
1. servitization solves the problem of code reuse and database connection after business splitting, and also brings about a problem: the original call between businesses is a method call within a single machine, now it has become a remote service call, that is, the common RPC. If a distributed service is used, we should also consider introducing the service framework middleware.
2. If the Service implements a distributed architecture, the Server Load balancer server can be used in front of the service layer to solve the service routing problem.
3. The microservice architecture needs to be summarized in theory and practice.