Details

Izvedba in vizualizacija algoritma Raft
ID Rezelj, Tim (Author), ID Lotrič, Uroš (Mentor) More about this mentor... This link opens in a new window

.pdfPDF - Presentation file, Download (1,80 MB)
MD5: 7E233DBD1B4DF5FC4ADA4CBD319E9B97

Abstract
Porazdeljeni sistemi delujejo na večih strežnikih hkrati in skupaj opravljajo neko funkcionalnost. Strežniki se ponavadi nahajajo na več različnih lokacijah, kar nam omogoča večjo zanesljivost, saj so v primeru izpada enega strežnika ostali še vedno zmožni izvajati funkcionalnost. Ta lastnost nam poveča zanesljivost sistema, saj je verjetnost izpada večih strežnikov na več lokacijah hkrati veliko manjša. V diplomskem delu izdelamo algoritem Raft v programskem jeziku go, ter ga povežemo z grafičnim vmesnikom, ki se izvaja v spletnem brskalniku. Raft nam zagotavlja varno in pravilno replikacijo podatkov na več strežnikov. Prednost algoritma je njegova lažja implementacija in enostavnejša razumljivost, saj ima v primerjavi z algoritmom Paxos za replikacijo podatkov manj nastavitev, manj stanj in bolj enostavno logiko. Zaradi teh razlogov je algoritem lažje razumljiv in veliko bolj primeren za študente, ki se prvič srečajo s porazdeljenimi algoritmi. V grafičnem vmesniku podpremo nastavljanje začetnega stanja na posameznem strežniku, kar uporabniku pred začetkom izvajanja omogoči nastavitev zapisov na posameznem strežniku za potrebe prikaza izvajanja algoritma v robnih primerih. Predstavimo tudi meritve zmogljivosti sistema v produkcijskem okolju, ki nam povejo kako zmogljiv je naš sistem in ali bi se našo rešitev lahko uporabilo za reševanje realnega problema.

Language:Slovenian
Keywords:porazdeljeni sistemi, replikacija podatkov, algoritem Raft, vizualizacija, jezik go
Work type:Bachelor thesis/paper
Typology:2.11 - Undergraduate Thesis
Organization:FRI - Faculty of Computer and Information Science
Year:2025
PID:20.500.12556/RUL-171752 This link opens in a new window
COBISS.SI-ID:248331523 This link opens in a new window
Publication date in RUL:01.09.2025
Views:191
Downloads:75
Metadata:XML DC-XML DC-RDF
:
Copy citation
Share:Bookmark and Share

Secondary language

Language:English
Title:Implementation and visualization of the Raft algorithm
Abstract:
Distributed systems work on multiple servers to perform some functionality. The servers are usually located in multiple locations, which makes the system more resistant to failures, since the actions can still be performed, even if one server fails. This property increases the system's reliability since the probability of a system failure in multiple locations simultaneously is much lower. In this thesis, we implement the Raft algorithm in the Go programming language and connect it to the visualization implemented in the browser. Raft guarantees us safe and correct (data is on all servers written in the same order) data replication on multiple servers. The advantage of this algorithm is that it is easier to understand since it has fewer settings than the Paxos algorithm (which implements the same functionality as the Raft algorithm). Therefore, the Raft algorithm is easier to understand and is more suitable for students who encounter distributed systems for the first time. In the visualization, we implement a feature that allows users to set the initial log values on each server, enabling them to configure log values before starting the visualization. This functionality makes it much easier to test the algorithm's edge cases. In the end, we present performance metrics in a production environment that tell us how well our solution performs and if it is usable for solving real-world problems.

Keywords:Raft, visualization, distributed systems, data replication, leader, follower, Go language

Similar documents

Similar works from RUL:
Similar works from other Slovenian collections:

Back