Skip to content

leanovate/akka-typed-raft

Repository files navigation

A Raft implementation using akka-typed Gitter Build Status

For good explanation of Raft see:

Development

Requires sbt

To start an interactive server use the following line and open localhost:8080. After each source code change the server and the client will reload. (This feature is provided by sbt-revolver)

sbt ~reStart

Notice that sbt starts in the server project, to test server and client code use

sbt server/test client/test

Anatomy of the application

The folder server contains the Raft algorithm it self written with Akka-Typed and a Akka-HTTP web-server to observe the running algorithm (in package vis).

The folder client contains a web application to visualise the behaviour of Raft. The application receives updates via Server-sent events and manages updates with Diode (conceptually very similar to Redux). Instead of XML-literals ScalaTags is used, so instead of <p id="some">Text</p> you see p(id := "some", "text") everwhere.

The folder shared just contains code that is useful for the server and the web application. Right now allow messages that are transferred to the front end lives here.

Releases

No releases published

Packages

No packages published