Clockwork: Distributed, Scalable Job Scheduler
Clockwork-Scheduler is a general-purpose distributed job scheduler. It offers you horizontally scalable scheduler with at least once delivery guarantees. It is fault-tolerant, persistent, easy to deploy and maintain.
Usage: General-purpose scheduling by external services.
Clients can create Schedule at a specified time in the future, at scheduled time clockwork executes the schedule and delivers taskData to provided kafka topic. Right now only supported mode of delivery is kafka topic but plan to add more such as web hooks.
Hash Indexes In Key-Value Stores
As software developers, you interact with databases almost daily, but almost never (and probably will never) create a database yourself. There are tons of databases available today (e.g., Postgres, MongoDB, VoltDb, Redis, etc) but to deliver performant and manageable applications you need to pick which one of them is best suited as per your requirements, to evaluate different choices you will need to know the internals on how they operate and store data.
Distributed Systems: Brief Introduction
A collection or group of different computers (or nodes) which coordinate action through message passing and as a whole behaves as one functional unit to the end user.
Eg. In Google Drive when you upload a picture or view one it gives you the illusion that it is stored at one single place and you are interacting with one server, but it is a coordinated effort of multiple independent servers.