본문 바로가기
Developer.log/System Design Interview

시스템 디자인 유투브 공유,정리: Horizontal vs. Vertical Scaling

by taf 2023. 4. 8.

 

 

 

 

 Computing Network에서 흔히 말하는 Cloud 란?

 

 

Cloud:

 

Simply put, it is another computer sombody provides for you to handle sudden outage, they give you computation power

 

It is a set-up "computer" to run your service,

 

Configuration, realibility can be taken care by solution providers

ex) AWS (Amazon Web Service)

 

 

아래의 유투브를 참조해서 정리해보았다 ▼

시스템 디자인 scailing 설명 Youtube

 

 

 

Scalability: ability to handle more requests

 

There can be two approaches for scailing :

 

1) Buy bigger machine: your computer getting larger

➡️ Vertical Scaling

 

 

2) Buy more machine: means requests can fall on any of this machine, requests can be randomly distributed

➡️ Horizontal Scaling

 

 

 

Table of comparison between Horizontal Scaling and Vertical Scaling

 
  Horizontal Scaling Vertical Scaling
Load Balancing Required

(Request가 많으면 그 많은 걸 어디에 어떻게 보내야될지 핸들링하는 load balancer가 필요함)
NOT required

(하나 밖에 없으니까 필요 없음)
Redirection Yes, Resilient No, Single point failure
서버 한 번 다운 되면 끝남
 
Network calls between two services

➡️ RPC (Remote Procedure Calls)
(so it might be slow)
Inter Process communication
(relatively fast)
Data Consistency Data might be inconsistent Consistent
When User increses Scales well Scales X, Hardware Limit

 

*파란색으로 표시한게 각각의 접근방식에 따른 장점

 

So, what is using in the real world?

Both.

 

 

We take the benefits of each of it.

 

For Vertical scaling, we use the benefits of Inter Process Communication and the data being consistent (caches going to be consistent)

 

 

Initially we go with vertical scaling first, and then when users trust you, you should go with horizontal scaling.






처음 회사에서 일했을 때만 하더라도 이 단어들 들을 때 외계어처럼 뭔 소린지 하나도 모르겠었는데, 이렇게 동영상으로 보니까 그 동안 어렴풋이 알게 된게 정리된 느낌이다.

 

 

 

서당개 삼년이면 풍월을 읊는다는데, 나도 이제 3년차니까 진짜 제대로 정리해나가야지.

 

 

 




댓글