25 Mar 2017
|
distributed-systems
In this post I will describe SWIM, a well known gossip-based membership protocol. before diving into SWIM specifics, it’s probably a good idea to start with a quick overview of membership protocols and the problem they attempt to solve.
18 Mar 2017
|
node.js
toobusy.js is a nice little Node.js library that helps you detect when your server is
experiencing high load. The idea is that when your server is overwhelmed with requests, it is better to drop some requests than to
stop working altogether.
18 Feb 2017
|
node-js
distributed-systems
In my experience, the average Node.js developer tends to be less concerned about thread safety issues and race conditions than the average developer who uses
more traditional languages such as Java, C# or C++. Perhaps the reason is that Node.js code is executed in a single-thread environment, so
the risk of multiple threads mutating the same shared memory at once is avoided. However, this does not mean that we’re entirely free from race
conditions. For example, our database can be thought of as a shared state in which race condition may manifest.
10 Feb 2017
|
node-js
Timers are an essential part in the Javascript developer tool set. The timers API has been with us a long time, dating back to the days when Javascript was limited to the browser.
This API provides us with the setTimeout
, clearTimeout
, setInterval
and clearInterval
methods which allows us to schedule code for later execution, either once or repeatedly.
03 Feb 2017
|
distributed-systems
Raft is an algorithm for distributed consensus, created by Diego Ongaro and John Ousterhout from Stanford University. The main drive for the creation of Raft
was the fact that Paxos, while widely considered the standard distributed consensus algorithm for over a decade, was also considered
very hard to understand. The authors’ intention thus was to come up with a different, easy to understand distributed consensus algorithm.
In this post I will try to give an introduction to the Raft algorithm.