Design Concepts

Avinashsoni
2 min readJun 22, 2022

--

  1. What is Load Balancing?

→ Helps in the Distribution of Traffic across different server

→ it helps in :

a) Improving Application Availablity

b) Improving Server Responsiveness

c) it helps in Prevent Server Overload

Basically, it act as a medium between client and server

when the client sends a request it send it to a available server which can handle the request . in this way it functions to balance the load by the clients on the server

Article to learn: What is Load Balancing? What Load Balancing Solutions Are There? — Citrix India

2. What is Caching?

Basically, Caching is a Tool in which we can help any future request to be served faster to the client

it helps in reusing the data.

Advantages :

a) Improves Application Performance

b) Reduces the Database Cost

c) Reduce Load in the Backend

d) Increase Throughput

Article to learn: What is Caching and How it Works | AWS (amazon.com)

3. what is Horizontal and Vertical Scaling?

Horizontal Scaling means Adding More Servers ( basically adding Infrastructure)

Vertical Scaling means Adding More RAM ( basically Improving the Current Infrastructure)

4. what is Proxy?

Proxy is basically used for hiding location for security and stablity

5. What is CAP Theorem?

it is based on :

a) Consistency: Data transfer should be accurate

b) Availablity: the system running state depends on this

c) Partition Tolerance: The system should operate despite network failure . this helps in maintaining the stability of the

6. How to Improve Databases?

a) Using Replication: we create replicas of the databases so that even if one fails other can be used

b) Using Indexing: it helps in reducing the search time of data

c) Using Sharding :

→ Horizontal Sharding: in this, we store the rows in multiple DB

→ Vertical Sharding: in this, we store Columns in multiple DB

--

--

Avinashsoni

SDE@BNY MELLON | Spring Boot | Learning and Growing EveryDay 😁 Linkedln 👇: https://www.linkedin.com/in/asoni93/