ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Message Queue 사용하는 이유?
    개발/용어 2020. 4. 23. 18:58

    https://earlybird.kr/1489 의 글을 읽고 내가 이해한 내용을 정리하겠다.

     

    가장 중요한 핵심은 바로!!!!

    사용자에게 얼마나 빠르게, 안정적이게 정보를 전달하느냐!!!!!!

    모든 서버는 위와 같은 문제를 해결하기위해 발전해왔다고 생각한다.

     

    자 Message Queue를 사용하지 않는경우, 사용하는 경우의 상황을 가정하겠다. (동기 프로그래밍 일 경우)

    1. A가 페이스북에 글을 쓴다.
    2. 친구들에게 알람이 간다.

    위와같이 간단하게 2가지 단계로 진행된다고 하자.

     

    Message Queue 이용 X

    Message Queue를 이용하지 않을 경우 위처럼 ① ~ ⑦단계를 거쳐서 A에게 글 등록 완료 피드백이 전달되게 된다!!

    A가 하고자한 행위는 "글 등록" 일 뿐인데 서버에서는 다른 로직까지 같이 처리를 해야해서 피드백이 느린 상황이다.

    심지어 인싸여서 친구들이 많다면? 더더욱 시간은 오래걸릴 것이다.

     

    Message Queue 이용 O

    Message Queue를 이용할 경우 단순 단계만으로 보더라도 ① ~ ⑤단계로 줄었다. 

    더군다나 중요한 것은 A에게 아무리 많은 친구들이 있다고 하더라도 A가 글 등록 완료 피드백을 받는것에 영향을 미치지 않는다는것!!!

     

    또한 채팅서버, MessageQueue서버, 알람서버로 로직을 분리해 놓았기 때문에 각 서버가 받는 부하도 줄어들 것이다.

     

    정말 간단하게 Message Queue가 필요한 이유를 한번 알아보았다.

    내가 여태까지 서버에 대해 공부를 하면서 느낀점은 크게 2가지 인 것 같다.

    1. 얼마나 빠르게? (사용자에게 컨텐츠를 제공)

    2. 얼마나 많이? (사용자를 수용)

     

    그래서 과거에는 Scale-up 서버의 성능을 좋게해서 해결하였지만, 시간이 지날 수록 한계점이 보였기 때문에 Scale-out 서버를 분산시켜서 해결하는 방법이 계속해서 발전해 나가고 있는 것 같다.

    사실 그 이외에도 보안, 정확성 이런 문제들도 해결해야 하지만 근본적인 문제는 위의 2가지라고 생각한다.

    댓글

Designed by Tistory.