Link - Part 1, Part 2, Part 3, Part 4 Below is the summary of the above series of 4 articles. - Load Balancing No shared architecture Session is persisted Database or Cache These points allows the system to scale horizontally. Scale our the Database or consider using a NoSql databse or a hybrid. Use… Continue reading Scalability for Dummies – Summary
Category: Distributed
Load Balancer | L4 vs L7
Best Article on Load Balancer Load Balancer vs Reverse Proxy Link Link A load balancer is a device that acts as a reverse proxy and distributes network or application traffic across a number of servers. Load balancers are used to increase capacity (concurrent users) and reliability of applications. They improve the overall performance of applications… Continue reading Load Balancer | L4 vs L7
DNS | Round-Robin
Link Wiki Round-robin DNS is a technique of load distribution, load balancing, or fault-tolerance provisioning multiple, redundant Internet Protocol service hosts, e.g., Web server, FTP servers, by managing the Domain Name System's (DNS) responses to address requests from client computers according to an appropriate statistical model. In its simplest implementation, Round-robin DNS works by responding to DNS requests not only with a single potential IP address,… Continue reading DNS | Round-Robin
Monitoring Processes with Supervisord
Supervisord is a simple and popular choice for process monitoring. Supervisor is a client/server system that allows its users to control a number of processes on UNIX-like operating systems. Supervisord is a script monitoring tool. Below is the conf file which. [program:nodehook] command=/usr/bin/node /srv/http.js directory=/srv autostart=true autorestart=true startretries=3 stderr_logfile=/var/log/webhook/nodehook.err.log stdout_logfile=/var/log/webhook/nodehook.out.log user=www-data environment=SECRET_PASSPHRASE='this is secret',SECRET_TWO='another secret'… Continue reading Monitoring Processes with Supervisord
Split-Brain ( in Distributed System)
Split brain in a distributed system is a problem that can occur in consistent systems. If a network partition occurs in a consistent system then one side or the other (or both) of the partition needs to stop responding to requests to maintain the consistency guarantee. If both sides continue to respond to reads and… Continue reading Split-Brain ( in Distributed System)
Optimistic Vs Pessimistic Locking
SO Optimistic Locking is a strategy where you read a record, take note of a version number (other methods to do this involve dates, timestamps or checksums/hashes) and check that the version hasn't changed before you write the record back. When you write the record back you filter the update on the version to make… Continue reading Optimistic Vs Pessimistic Locking
Latency Numbers Every Programmer Should Know
Load Balancers
Introduction to Architecting Systems for Scale A critical piece of any distributed system is a load balancer. Load balancers are a principal part of any architecture, as their role is to distribute load across a set of nodes responsible for servicing requests. This allows multiple nodes to transparently service the same function in a system.… Continue reading Load Balancers
CAP Theorem
Martin Kleppmann CAP Theorem Blog If you want to refer to CAP as a theorem (as opposed to a vague hand-wavy concept in your database’s marketing materials), you have to be precise. Mathematics requires precision. The proof only holds if you use the words with the same meaning as they are used in the proof. And the proof… Continue reading CAP Theorem
You must be logged in to post a comment.