1 research outputs found
Web-application architecture for the Kubernetes cluster at the Google cloud platform with horizontal automatic scaling
The article is devoted to the development of the Web application architecture
with the distribution of the application by components into 2 tiers connected by the messaging
system, and using of load balancing by horizontal scaling in the Kubernetes cloud cluster. Queue
length in the message broker is used for scaling as critirea. This approach allows to increase
resource usage efficiency of the system. The relevance of the topic is due to the widespread use of
various web services and web applications. When the load of web applications increases it can
lead to delays or even failure of these services. Therefore, the issues of creating reliable, faulttolerant,
and scalable systems become extremely important. If the load is greater than the system
or service can withstand, it may result in denial of service or termination of service. Also, the load
can be unevenly distributed to services over a period of time, and therefore, even if the system has
enough resources to withstand high loads, during periods of low load, these resources will not be
used, resulting in problems of inefficient use of resources and overspending. The proposed system
was deployed in the Google Cloud environment. The components of the server part of the Web
application are grouped into 2 tiers. The microlayer components of the first layer analyze HTTP
client requests and transmit messages to the components of the second layer using the Google
Pub-Sub messaging system. It is proposed to make all relatively "difficult" operations on the
components of the second layer. For the numerical experiment, a system was implemented using
an algorithm for horizontal scaling of microservices based on the current number of messages in
the queue. Load testing of the system was performed, which showed that the created system is
capable of processing more than 2 times more requests for the same period of time compared to
the system without scaling