System Design basics terminologies

Scalability: Ability to handle increasing load without compromising the performance

System Availability: It is a matrix that majors the probability that your system will not goes down when it is intended to be used.

Load Balancing:

Virtualization: 

Resiliency or Resilience: Resiliency is the ability of a server, network, storage system, or an entire data center, to recover quickly and continue operating even when there has been an equipment failure, power outage or other disruption.

Fault tolerance refers to the ability of a system (computer, network, cloud cluster, etc.) to continue operating without interruption when one or more of its components fail.

Cron Job: Scheduled job that run at fixed schedule time. It can help to achieve processing of large task in non peak hours.

Microservice architecture: A variant of the service-oriented architecture (SOA) structural style – arranges an application as a collection of loosely-coupled services. In a microservices architecture, services are fine-grained and the protocols are lightweight.

Monolithic vs Microservice Architecture:

Distributed System or Distributed Computing: System with multiple components located on different machines that communicate and coordinate actions in order to appear as a single coherent system to the end-user.

Decoupling:

Extensible: 

Cache Patterns

Redis vs Memcached

Logging and Matrix calculation:  

Separation of concern: 

Parallel vs Concurrent:

Message Queue

Database Sharding Greeksforgreeks

Reverse Proxy vs API Gateway: Good Read

Comments

Popular posts from this blog

gsutil Vs Storage Transfer Service Vs Transfer Appliance

SQL basic interview question