Proceedings of the Institute for System Programming of the RAS
RUS  ENG    JOURNALS   PEOPLE   ORGANISATIONS   CONFERENCES   SEMINARS   VIDEO LIBRARY   PACKAGE AMSBIB  
General information
Latest issue
Archive

Search papers
Search references

RSS
Latest issue
Current issues
Archive issues
What is RSS



Proceedings of ISP RAS:
Year:
Volume:
Issue:
Page:
Find






Personal entry:
Login:
Password:
Save password
Enter
Forgotten password?
Register


Proceedings of the Institute for System Programming of the RAS, 2020, Volume 32, Issue 6, Pages 79–86
DOI: https://doi.org/10.15514/ISPRAS-2020-32(6)-6
(Mi tisp559)
 

Designing highly loaded systems

V. A. Rudometkin

STREAM LLC
References:
Abstract: Nowadays, most of the services are moving online, which allows users to receive the service at any time. The high availability of the service leads to an increase in the number of users, which entails an increase in the load on the system. High load has a negative impact on system components, which can lead to malfunctions and data loss. To avoid this, the article discusses several design and monitoring approaches, the observance of which will help prevent system malfunctioning. The article describes the most popular way to distribute the area of responsibility of each service, in accordance with the DDD pattern, the use of which will allow you to separate the components of the system logically by use and physically when scaling the system. This approach will also be useful when scaling a team and allow developers to work independently on different system components without interfering with each other. The integration of new people into the project will also take the shortest possible time. When designing the system architecture, it is worth paying attention to the scheme of interaction between services. Using the CQRS pattern allows you to separate reading and writing into different components, which later allows the user to quickly receive a response from the system. Particular attention in the article is paid to monitoring the system, since with an increase in the size of the system, the time to search for errors in the system reaches a large amount of time, which can lead to a long unavailability of the system, which will entail the loss of clients. All the methods described in the article have been applied on many projects, for example, MTS POISK. Thanks to a properly designed system, it was possible to reduce the waiting time for a service response from two minutes to several seconds without losing the quality of the result, and a sophisticated system monitoring system allows you to monitor all processes within the system in real time and prevent accidents. As a result, at the beginning of the system design, special attention should be paid to the architecture, the issue of monitoring and testing the system. Subsequently, these temporary investments will reduce the risks of data loss and system unavailability.
Keywords: highly loaded system, DDD, REST, queue server, socket, ELK, CQRS, MTS SEARCH, system design.
Document Type: Article
Language: Russian
Citation: V. A. Rudometkin, “Designing highly loaded systems”, Proceedings of ISP RAS, 32:6 (2020), 79–86
Citation in format AMSBIB
\Bibitem{Rud20}
\by V.~A.~Rudometkin
\paper Designing highly loaded systems
\jour Proceedings of ISP RAS
\yr 2020
\vol 32
\issue 6
\pages 79--86
\mathnet{http://mi.mathnet.ru/tisp559}
\crossref{https://doi.org/10.15514/ISPRAS-2020-32(6)-6}
Linking options:
  • https://www.mathnet.ru/eng/tisp559
  • https://www.mathnet.ru/eng/tisp/v32/i6/p79
  • Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Proceedings of the Institute for System Programming of the RAS
    Statistics & downloads:
    Abstract page:275
    Full-text PDF :898
    References:16
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024