Distributed application architecture has a strong demand for complex logic. Upper-level businesses want to build more and richer applications quickly with their own incremental services, reduce the cost of manpower and time to carry out new services, quickly meet the changing market demand, and public services are distinguished to form a common business.Used services, which maximize code and logic reuse and avoid duplication of construction, are also called SOAs.
SOA(Service-Oriented Architecture)Service-oriented architecture is a component model that links different functional units of an application (called services) through well-defined interfaces and contracts between these services. Interfaces are defined in a neutral manner and should be independent of the hardware platform, operating system, and programming language that implements the services. thisIt enables services built in a variety of systems to interact in a unified and common way.
SOAIn the architecture, the service consumer finds the address list of the services to be invoked through the service name, which is called the service routing.
For high load services, it often corresponds to clusters composed of multiple servers. When the request arrives, in order to distribute the request equally to the later server, the load balancer selects a server to access through the corresponding load balancing algorithm and rules in the address list corresponding to the service.A process is called load balancing of services.
When the service module is small, the service address and configuration can be configured in the way of Cao Yong’s hard coding. The routing and load balancing problems of services can be solved by encoding, or by traditional hardware-aided balancing devices such as F5 or software solutions such as LVS or Nginx.Configuration to solve the problem of service routing and complex equilibrium. Since the number of machines is controllable, the maintenance cost is acceptable.
As more and more services, the scale of the corresponding number of machines is also growing, relying solely on manual management and maintenance of services and address configuration information, has become increasingly difficult. Moreover, relying on a single hardware load balancing device or using LVS, Nginx and other software solutions for routing and loadEqualizing the server’s downtime and relying on all its services will fail.