Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/lakshay2395/notification-engine

Distributed & scalable generic notification(cum cron job) engine implementation in Golang
https://github.com/lakshay2395/notification-engine

cronjob-scheduler distributed golang

Last synced: about 2 months ago
JSON representation

Distributed & scalable generic notification(cum cron job) engine implementation in Golang

Awesome Lists containing this project

README

        

# Notification Engine

Distributed & scalable generic notification(cum cronjob) engine implementation in Golang. Architecture and implementation is inspired from [BigBen](https://github.com/walmartlabs/bigben) by Walmart labs.

## Pre-requisites
- Docker

## Setup

Start a sample 3-node manager and single-node worker system using following command -

```
make start
```

## Basic Architecture

### Major Components
- PostgresDB as data store
- Etcd v3 for cluster synchronization
- Rabbitmq for job queues

### Services
- Manager Service(s) : Master-slave cluster of a manager to pick up scheduled job from data store and push to worker queue.
- Worker Service(s) : Idempotent worker for picking jobs from worker queue and executing them.