Забезпечення порядку оброблення повідомлень у розподілених системах
Loading...
Date
2024
Authors
Давиденко, Андрій
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
У статті проаналізовано основні виклики, які є актуальними для розробників розподілених систем, зокрема стосовно забезпечення порядку оброблень подій, що відбуваються у системі, та його впливу на загальний стан системи. Відповідно до цього, запропоновано класифікацію розподілених систем. Наведено приклади використання можливостей сучасних брокерів повідомлень RabbitMQ та Apache Kafka, які дають змогу забезпечити оброблення повідомлень лише одним споживачем у розподіленій системі, та порівняно їхні можливості.
Description
In a distributed system, computers, also known as nodes or processors, are connected and communicate with each other through a communication network. Unlike a centralized system, where a single computer or server handles all processing tasks, in a distributed system, tasks and data are distributed among multiple nodes. While providing great scalability and resilience, distributed systems introduce new challenges – unavoidable concurrency and the difficulty of maintaining ordered communication between nodes within a system. That is why distributed systems and applications are especially difficult to create and maintain. Since the problem of preserving message ordering (also known as event ordering) is crucial, it has been widely studied. Some of the key findings are covered in this paper. Many proposed algorithms ensure a strict order of message delivery, but each has its advantages and disadvantages, which once again emphasizes the urgency of this problem. This paper highlights some of the current challenges faced by developers of distributed systems. Despite the fact that these problems are already well-researched, approaches to their resolution are still not settled. The article proposes a classification of distributed systems based on the desired characteristics in terms of maintaining and evaluating the current state. An example of using modern message broker tools (such as RabbitMQ and Apache Kafka), which ensure the processing of messages by only one consumer, is given. Further development of this work involves creating design patterns for the described types of distributed systems. Additionally, incorporating artificial intelligence elements to determine the context of the current state of systems and identify events that do not affect it could enable parallel processing of messages without disrupting the system state.
Keywords
розподілені системи, програмування, алгоритми, класифікація, брокери повідомлень, стаття, distributed systems, programming, algorithms, classification, message brokers
Citation
Давиденко А. М. Забезпечення порядку оброблення повідомлень у розподілених системах / Давиденко А. М. // Наукові записки НаУКМА. Комп'ютерні науки. - 2024. - Т. 7. - С. 58-62. - https://doi.org/10.18523/2617-3808.2024.7.58-62