GithubHelp home page GithubHelp logo

raft-consensus's Introduction

Konsensus Raft

Raft merupakan alogirtma konsensus yang didesain agar mudah dipahami. Konsensus Raft sama halnya dengan Paxos dalam fault-tolerance dan performance. Bedanya adalah, konsensus Raft didekomposisi ke dalam sub masalah yang relatif independen, dan hal ini meng-address seluruh bagian informasi yang diperlukan untuk sistem.

Instalasi

$ npm install

Untuk dijalankan di satu pc, bukalah beberapa terminal/cmd untuk menjalankan node, daemon, dan master balancer secara bersamaan dengan commands dibawah ini.

Commands

Node

$ node nd.js <my port> <no. of neighbors> <node-0 port> ... <node-(n-1) port>

Daemon

$ node daemon.js <id> <no. of nodes> <node-0 port> ... <node-(n-1) port>

Balancer Master

$ node balancer_master.js <no. of nodes> <node-0 port> ... <node-(n-1) port>

Deskripsi File

  1. balancer_master.js: Act as the interface of the user to the load balancer. Balance master will only contact the leader of the load balancer
  2. constants.js: Constants used in node and daemon
  3. daemon.js: Daemon's implementation in raft consensus. Daemon's function is to retrieve the server's CPU usage, and send it to all nodes. NOTE: Daemon starts worker.py automatically in PORT (10000 + Daemon's id)
  4. nd.js: Node's implementation in raft consensus
  5. worker.py: Worker to receive n and send nth prime number

Referensi

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.