Podrobno

Izvedba in vizualizacija algoritma Raft
ID Rezelj, Tim (Avtor), ID Lotrič, Uroš (Mentor) Več o mentorju... Povezava se odpre v novem oknu

.pdfPDF - Predstavitvena datoteka, prenos (1,80 MB)
MD5: 7E233DBD1B4DF5FC4ADA4CBD319E9B97

Izvleček
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.

Jezik:Slovenski jezik
Ključne besede:porazdeljeni sistemi, replikacija podatkov, algoritem Raft, vizualizacija, jezik go
Vrsta gradiva:Diplomsko delo/naloga
Tipologija:2.11 - Diplomsko delo
Organizacija:FRI - Fakulteta za računalništvo in informatiko
Leto izida:2025
PID:20.500.12556/RUL-171752 Povezava se odpre v novem oknu
COBISS.SI-ID:248331523 Povezava se odpre v novem oknu
Datum objave v RUL:01.09.2025
Število ogledov:193
Število prenosov:75
Metapodatki:XML DC-XML DC-RDF
:
Kopiraj citat
Objavi na:Bookmark and Share

Sekundarni jezik

Jezik:Angleški jezik
Naslov:Implementation and visualization of the Raft algorithm
Izvleček:
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.

Ključne besede:Raft, visualization, distributed systems, data replication, leader, follower, Go language

Podobna dela

Podobna dela v RUL:
Podobna dela v drugih slovenskih zbirkah:

Nazaj