An open API service indexing awesome lists of open source software.

https://github.com/dlemel8/consistent_hashing_workers

compare consistent hashing implementations to solve distributed continues jobs processing problem
https://github.com/dlemel8/consistent_hashing_workers

consistent-hashing golang rabbitmq zeromq

Last synced: 13 days ago
JSON representation

compare consistent hashing implementations to solve distributed continues jobs processing problem

Awesome Lists containing this project

README

          

# consistent_hashing_workers
![Test](https://github.com/dlemel8/consistent_hashing_workers/workflows/Verify%20Strategies/badge.svg)

This repo contains 3 services:
* Generator is generating jobs with an id and data
* Workers are processing the jobs and send their results to reporter
* Reporter is aggregating jobs results and then saves a report

In steady state, requirements are:
* Each job id is processed by the same worker
* Workload is evenly distributed among the workers

## Abstract Design
![Abstract](design/abstract.jpg?raw=true "Abstract")

## Implementations
### RabbitMQ (Centralized Message Broker)
![RabbitMQ](design/rabbitmq.jpg?raw=true "RabbitMQ")

### ZeroMQ (Distributed Messaging Sockets)
![ZeroMQ](design/zeromq.jpg?raw=true "ZeroMQ")