Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/lakshay2395/notification-engine
- Owner: lakshay2395
- Created: 2020-10-05T22:09:36.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2020-10-05T22:29:38.000Z (about 4 years ago)
- Last Synced: 2024-04-14T23:59:51.714Z (8 months ago)
- Topics: cronjob-scheduler, distributed, golang
- Language: Go
- Homepage:
- Size: 48.8 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.