Дослідження процесу реплікації даних за допомогою алгоритма реплікації Raft для підтримки узгодженості в кластері серверів - Токар, Л. О.; Цилюрик, В. Є.; Солоділов, В. В. (ХНУРЕ, 2024)
Розглянуто питання забезпечення доступності та відмовостійкості кластера серверів. Проаналізовано методи та технології підвищення надійності систем й покращення продуктивності, таких як реплікація даних, автоматичне перемикання між серверами та швидке відновлення після відмов. Зазначено, що ключовим елементом у сучасних розподілених системах є кластеризація на основі реплікації. Проаналізовано типи реплікації. Показано, що в процесі роботи системи є вибір між стійкістю отриманих даних та обмеженням в швидкості чи в масштабуванні. Показано, що одним з надійних механізмів з високим рівнем доступності для досягнення консенсусу та управління даними є алгоритм Raft. Проведено аналіз літератури з використання алгоритму консенсусу Raft. Проаналізовано процес реплікації з використанням алгоритму Raft. Обґрунтовано, що забезпечити сильну консистентність та високу доступність кластера можливо з використанням механізму управління та контролю на платформі Kubernetes із збереженням синхронізації конфігурації кластера. Проведено дослідження процесу консенсусу Raft з використанням моделі СМО M/M/с. Розглянуто експоненційний розподіл часів між запитами клієнтів та обслуговуванням з певною кількістю серверів. Розроблено код програми для математичної моделі на мові Python. Проведено моделювання в середовищі Visual code на Python. Досліджено параметри: кількість серверів, що працюють з певною середньою швидкістю, очікуваний час запиту клієнта у системі, ймовірність затримки повідомлення. Доведено, що по мірі збільшення швидкості прибуття очікуваний час запиту клієнта зростає. Аналіз дає розуміння того, як алгоритм Raft працює в різних контекстах і може бути застосований для оптимізації процесів проєктування систем.
Keywords: відмовостійкість; реплікація; Kubernetes; Raft