Skip to content

ashishbende/Overlay-Network

Repository files navigation

Overlay Communication Network

A distributed MOOC architecture

Documentation

This project provides you with a basic framework to build your nodes. This is not a complete project documentation, and has a lot of missing pieces that I'll update soon.

Communication:

A common approach for distributed systems is to separate domain requests from management (internal) requests. The motivation is often driven by a need to provide the highest potential to prioritize and control resources. This project provides a design for two networks. The connections are:

  1. public for satisfying data requests
  2. private (mgmt) for internal synchronization and coordination

Thundering Herd Problem:

The queue management uses a single thread to manage the inbound requests. A scaling option to use a reactive model that increases the number of threads as the entries in the queue increase to handle the increased work load.

This approach is used rather than having many pre-created threads as we do not want to have resources taken and awakened all at once to vie for a single task (this is the thundering heard problem).

Storage:

A storage framework is provided to show you a way (others exists) to decouple domain logic from backend persistence.

About

MOOC Communication backbone

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages