Skip to content
/ dscb Public

Distributed Systems Code Base (for training purposes)

Notifications You must be signed in to change notification settings

ashrithr/dscb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Distributed Systems Code Base

Collection of Distributed System algorithm implementations and examples

Illustrates building echo server & client using Socket's API

Running:

  • Initialize Server instance by running:



    sbt "runMain com.am.ds.sockets.echoserver.Server"
    


    
  • In another terminal window, initialize Client instance by running:

 


    sbt "runMain com.am.ds.sockets.echoserver.Client"

    

NOTE: You could terminate server instance by pressing Ctrl+C

Chat Server implementation using Akka & Socket's API



Running:



  • Initialize server side application:



    sbt "runMain com.am.ds.akka.chatserver.ChatServerApp 9000"

    ```


    
    
  • Initialize multiple command line client application instance's to simulate multiple users using the chat engine



    sbt "runMain com.am.ds.akka.chatserver.CmdLineClient.CmdLineClientApp localhost 9000"

    

NOTE: you could terminate server and client instance's by pressing Ctrl+C in their respective terminal windows

A simple Tron game implementation using RMI

Running:

  • Initialize RMI Tron server instance:

    sbt "runMain com.am.ds.rmi.networkgame.RMITronServer"
    
  • Initialize two instances of Tron client's in two terminal windows:

    sbt "runMain com.am.ds.rmi.networkgame.RMITronClient"
    

You could play the game by pressing the frame to get the focus and then pressing either left or right arrows to move the line. Finally you could terminate the client and server session by sending Ctrl+C.

Implementation of Lamport and Vector Clock's

Simple example illustrating how to perform DNS forward and reverse lookup's

Example's illustrating how to perform simple file write and read serialization using

Implementation of Paxos using Akka

An implementation of the Raft distributed consensus algorithm

Current implementation features:

  • Leader Election
  • Log Replication
  • Cluster Membership Changes
  • Log Compaction
  • Finagle based Thrift RPC between members

Running an example distributed KVStore built using RAFT: sbt test.

About

Distributed Systems Code Base (for training purposes)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published