A blog made of my random stuff + info about me

SD: API Gateway


An API Gateway is an intermediary between clients and backend services, microservices or APIs. It’s purpose is to provide a single entry point for external customers to access the services in the backend. Below, there will be sections explaining the API Gateway responsibilities Routing Client request is received and forwarded to the appropriate microservice. Rate limiting and throttling API Gateway can set a limit on the numbers of requests a client makes, thus, preventing DDoS attacks.…
Read more ⟶

SD: Load Balancers


Load Balancers (LB) are a crucial component for System Design. They are basically in charge of distributing incoming requests and traffic evenly across multiple servers while avoiding the overload and downtime of servers. Good places to put a LB Between user and web servers Between web servers and internal platform layer Between platform layer and databases How does a request get processed by a Load Balancer? Request is received Request then is evaluated: LB determines which server or resource should handle the request using a balancing algorithm taking in consideration the following things:…
Read more ⟶

DSA: Fast and Slow pointers


This is a pattern that uses two pointers approach, however there’s a special thing about this pattern: One pointer moves faster than the other. The Fast and Slow pattern follows the Hare and Tortoise algorithm. The algorithm is pretty useful when dealing with cyclic Linked lists or arrays. It actually proves that by moving the pointers in that way they will be at the same position at some point in time.…
Read more ⟶