-
Viewstamped Replication: Passive Replication And Consensus
2021/05/29
Viewstamped replication(VR) is a state machine replication algorithm used to build highly available systems that continue to operate correctly even in presence of node failures and network partitions.
It replicates change in state from one node to all other nodes over network.
It differs from Paxos in that it is a replication protocol rather than a consensus protocol: it uses consensus, with a protocol very similar to Paxos, as part of supporting a replicated state machine
-
Notes On Kafka Paper
2021/04/24
What? Kafka is a distributed event/message streaming software. Kafka communicates events from one system to another.
Features Horizontally Scalable High Throughput Ability to re-consume old messages No Global ordering of messages, partial ordering in partitions At-Least once delivery guarantee Supports both the point-to point delivery model in which multiple consumers jointly consume a single copy of all messages in a topic, as well as the publish/subscribe model in which multiple consumers each retrieve its own copy of a topic Efficient Transfer: Batched api allows producers and consumers to send and receive multiple messages in one round trip Why?
-
Migrating From Netlify To Cloudflare Pages
2021/04/13
Netlify is great works out of the box minimal configuration required I wanted to have privacy respecting basic analytics, to track number of unique visitors Netlify Analytics is expensive for my personal site Cloudflare provides basic analytics for free Migration to Cloudflare was mostly problem free and easy I faced just one problem while migration, even though command to build and output directory was correct the site was not working.
-
Clockwork: Distributed, Scalable Job Scheduler
2019/10/05
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
2019/02/11
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.