FSpread

F# routines to support participating in a Spread network.
Download

FSpread Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Freeware
  • Publisher Name:
  • Nick Gunn
  • Operating Systems:
  • Windows All
  • File Size:
  • 1.4 MB

FSpread Tags


FSpread Description

FSpread provides a small set of F# routines to support participating in a Spread network. Spread is an open source toolkit that provides a high performance messaging service that is resilient to faults across local and wide area networks. It has a client-daemon architecture, with most of the functionality implemented in the Spread daemon and a simple tcp-based protocol for communication with clients. By providing consistent, ordered and reliable membership messages to processes participating in a network, those processes can implement truly-distributed algorithms for fault-tolerance, load-balancing and leader-election, without further agreement / consensus protocols. This project provides an F# implementation of the Spread client-side protocol, allowing F# projects to participate in a Spread network. The sample projects provided include: A console application for joining and leaving groups, as well as sending messages to those groups. A server application that may have many instances, each agreeing on who is the leader, with the remaining replicating that state. Instances may come and go. The server demonstrates how a new leader may be elected in the event of the previous one failing. The server supports client subscriptions and load-balances these amongst the leader/replicas. Client subscriptions are migrated to new nodes in the event of node failures. A client application that subscribes the server application for its current state.


FSpread Related Software