Skip to content

barakadax/OrleansMapReduce

Repository files navigation

Microsoft Orleans MapReduce

Start a Silo, run your client and see how much words with the same letter length are in the same text.

Getting Started

Prerequisites

  • .NET 10 SDK

Compilation

To compile the entire solution, run:

dotnet build

Running the Application

1. Start the Silo

The Silo must be running for the client to connect.

dotnet run --project Silo/Silo.csproj

2. Start the Client

Open a new terminal and run:

dotnet run --project Client/Client.csproj

Testing

To run all unit and functional tests:

dotnet test

Code Quality

To ensure code style consistency and apply rules from .editorconfig, run:

dotnet format

Supported runnings environments

  • Windows
  • Linux
  • Kubernetes

Environment variables

  • KUBERNETES_SERVICE_HOST -> if set, the application will run in Kubernetes, Silos automatically connect to each other via Kubernetes service discovery and logs are in JSON format.

Alice's Adventures in Wonderland Result:

Word Length: 1 | encountered: 1705
Word Length: 2 | encountered: 4413
Word Length: 3 | encountered: 7067
Word Length: 4 | encountered: 5782
Word Length: 5 | encountered: 3341
Word Length: 6 | encountered: 1952
Word Length: 7 | encountered: 1573
Word Length: 8 | encountered: 723
Word Length: 9 | encountered: 447
Word Length: 10 | encountered: 184
Word Length: 11 | encountered: 108
Word Length: 12 | encountered: 34
Word Length: 13 | encountered: 11
Word Length: 14 | encountered: 5

Moby Dick Result:

Word Length: 1 | encountered: 5050
Word Length: 2 | encountered: 18422
Word Length: 3 | encountered: 24837
Word Length: 4 | encountered: 21503
Word Length: 5 | encountered: 13647
Word Length: 6 | encountered: 9061
Word Length: 7 | encountered: 7611
Word Length: 8 | encountered: 5104
Word Length: 9 | encountered: 3236
Word Length: 10 | encountered: 1795
Word Length: 11 | encountered: 952
Word Length: 12 | encountered: 506
Word Length: 13 | encountered: 263
Word Length: 14 | encountered: 77
Word Length: 15 | encountered: 35
Word Length: 16 | encountered: 7
Word Length: 17 | encountered: 5

TODO

  • Support from repo for test coverage
  • Minimum of 95% test coverage
  • Max time for grain

About

High-performance MapReduce engine built with Microsoft Orleans—the same technology powering Microsoft Azure. Features multi-language translation, .NET 10, and seamless scaling across Windows, Linux, and Kubernetes

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors