Pembuatan program Raft Consensus menggunakan python

 

 Server dalam sistem terdistribusi dapat memiliki salah satu dua peran : Leader dan Follower. Peran tersebut secara dinamis ditentukan melalui proses pemilihan/voting.

- Hanya terdapat 1 leader dalam satu sistem. Secara periodik, server yang terpilih menjadi leader akan mengirimkan heartbeat message ke semua server follower.

- Setiap server follower memiliki countdown Election Counter yang akan selalu menghitung mundur. Nilai counter digenerate secara random. Nilai counter tersebut akan di-reset (di-random kembali) jika server follower mendapatkan heartbeat message dari leader.

- Jika countdown counter habis dan follower tidak menerima heartbeat message dari leader, bisa diasumsikan bahwa leader bermasalah, sehingga follower tersebut mengajukan diri menjadi kandidat leader.

- Kandidat leader mengirimkan message RequestVote untuk meminta vote dari server lain dengan terlebih dahulu melakukan increment pada term/periode. Misal, jika sebelumnya term/periode 3, maka term/periode pemilihan saat ini adalah term/periode 4.

- Jika follower tersebut mendapatkan jumlah vote secara kuorum (2/3) dari keseluruhan jumlah server, maka dia berperan menjadi leader.

- Pada kondisi khusus dapat dimungkinkan terdapat lebih dari 1 server yang memiliki countdown counter yang sama sehingga berkemungkinan terjadi split vote. Pada kondisi ini, hanya server yang mendapat vote kuorum yang memenangkan pemilihan. Jika tidak ada yang menang, maka dilakukan pemilihan ulang dengan term/periode yang baru.

Bahasa Pemrograman : Python

Mekanisme Komunikasi : ZeroRPC


Python

Project Class: Micro (Under 500rb)
Published Budget: Rp 200,000
Finish Days: 5
Published Date: 13/12/2019 23:05:54 WIB
Start Date:
Project Status: No Action
Accepted Worker:
Accepted Budget: Rp 0
Project Ending:
Finish Date:

Project Owner

ardiansyah123
    
10.00/10.00
11 Point
#6,179 dari 211,095

Accepted Worker

Bid masih terbuka.

Place New Bid

  User Bids

fsncius
    
0.00/10.00

Recommended Workers

Iswanto

21,687 points
436 projects
    
9.73/10.00

Muhammad.Rahman

13,659 points
149 projects
    
9.89/10.00

steven.comptia

34,125 points
800 projects
    
9.97/10.00

imzers

12,771 points
60 projects
    
9.88/10.00

mas.adi

9,490 points
29 projects
    
9.83/10.00

Recommended Services

Script Full Code Mutasi Bank

Rp 45,000,000
5 sales
    
9.80/10.00

Pembuatan bot line

Rp 1,500,000
6 sales
    
10.00/10.00

Jasa Optimasi Pagespeed Website WordPress

Rp 500,000
18 sales
    
9.39/10.00

Pembuatan Bot Telegram & Web Admin

Rp 1,500,000
3 sales
    
10.00/10.00

Open Projects

Migrasi websites ke server lain

Open to SuggestionsOwner: danusan
Deadline: 3 days

Aplikasi Perjalanan Dinas Dengan PHP MySQL

Rp 350,000Owner: ermansa
Deadline: 15 days

Integrasi Extension ke Journal3 Theme

Rp 400,000Owner: Susanto
Deadline: 7 days

setting web eror

Open to SuggestionsOwner: Grapadi
Deadline: 1 days

Pembuatan TCP Broadcast Message Menggunakan PHP

Open to SuggestionsOwner: wd.solutindo
Deadline: 1 days