Read the following in order - Kong and Educative. For any issues refer Link Kong Blog In the example chart, you can see how rate limiting blocks requests over time. The API was initially receiving 4 requests per minute shown in green. When rate limiting was enabled at 12:02, additional requests shown in red are… Continue reading Designing an API Rate Limiter
Tag: Scalable Sysem
Design a highly consistent and is network partition tolerant DB
Link to original IntervieBit article Q: What is the amount of data that we need to store? Anwer: Let's assume a few 100 TB. Q: Do we need to support updates? A: Yes. Q: Can the size of the value for a key increase with updates? A: Yes. In other words, its possible a sequence of keys could co-exist on one server previously,… Continue reading Design a highly consistent and is network partition tolerant DB
Design a High Availability DB
This post is copied from InterviewBit. The peer to peer concept described below is implemented in Casandra. Q: What is the amount of data that we need to store? A: Let's assume a few 100 TB. Q: Do we need to support updates? A: Yes. Q: Can the size of the value for a key increase with updates? A: Yes. In… Continue reading Design a High Availability DB
Basic of System Design
Object Oriented Design We can be asked to give an OOO design for a given problem. A simple approach to think in that direction is as follows - 1. Requirement analysis. Clear the ambiguity. We need to ask the following questions – who, what, when, where, how and why ? This is just to get… Continue reading Basic of System Design
Apache Bench for Simple Load Testing
A very simple tool for load testing. https://www.petefreitag.com/item/689.cfm
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
Speed Up PHP
APC-Cache Zend engine needs 4 steps to run a PHP script 1. Read PHP code from file into memory 2. Lexing : convert to lexicons that can form syntax 3. Parsing and compiling : parsing lexicons into opcodes and validate language syntax 4. Executing: execute opcodes APC mainly hijacks step 3. Instead of having Zend… Continue reading Speed Up PHP
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
Session Management For High Scalability
The challenges here is how and where to store user session data. This question basically sums up all my knowledge and asks the exact same question that I want to know.Link 1 Link 2 This is what flipkart did in it's initial days (Video Link) 17:00 – Sticky Session If we have multiple nodes and each… Continue reading Session Management For High Scalability
You must be logged in to post a comment.