서버끼리 통신을 시켜보자 (24.05.23)

YJ·2024년 5월 23일
post-thumbnail

블로그 작성법
목표 > 공부한 내용 > 얻었고, 앞으로 이걸 해봐야지 적기

✋ 수업 목표

  • MSA에 대해 알아보자.
  • Rabbit MQ를 Spring Boot를 통해 실행해보자.

🤔 공부한 내용

프로젝트 작성하는 방법

1차. 기본적인 요소만 사용했을때, 전체적으로 기능 다 돌아가게 만들고
2차. 디테일 잡아가면서, 전체적으로 고도화

  • 예외 처리
    - null 예외 처리
    • 형식 예외 처리

MSA

배포 - 서버 운영 상태로 올린다

백엔드 서버 2개 / 프론트 서버 1개

cf. 서버

[용어]

  • 컴퓨터 (AWS: Video 대여 -> Netflix 인터넷)
    = 인스턴스 생성 (=컴퓨터 사는 것)
    ex. EC2 (Elastic; 사양 유연성, 추가/삭제 ..., 기능 Compute Cloud)
    cf. Elastic Search (검색 엔진)
    고정 IP <= 탄력적 IP(생성은 하나 맵핑은 내 맘대로 아무데나)
  • 클라우드: 인터넷 (상 컴퓨터 역할을 해주는 것)

Rabbit MQ

: 하나의 계층 (백엔드 안)에서 AMQP로 통신 [메시지 - 데이터]
: 메세지 브로커(중매자) = 미들웨어

cf. Spring이랑 React가 서로 http로 통신 [API - 기능]
Q. http 통신을 하면, 동시에 여러 곳에 요청/또는 데이터 전달을 할 수 있나요?

A. http 통신 요청을 보내면 응답이 올 때까지 멈추고 있다. 이 문제를 해결하기 위해서 MQ가 등장하였다. 메세지만 간단하게 동시에 보내기 위해 MQ를 사용한다.

  • AMQP(Advanced Message Queuing Protocol)
    메세지를 보내는 곳과 받는 곳 사이 프로토콜
  • Queue : 메세지 "수신"해서 안전하게 저장해두는 공간 (처리 대기 중)
  • exchange : 보내고 싶은 Queue를 타겟팅해서 메세지 "송신" 시작점
  • binding : exchange - Queue 연결, 어떤 Queue에게 라우팅(송신)하고 싶은지 매핑

알쓸송잡

😉 앞으로 이걸 해봐야지

오늘은 MSA의 기본 개념을 배웠고, Rabbit MQ를 Spring Boot를 통해 실행해보았다. 앞으로 프로젝트를 진행할 것인데 MSA를 통해 아키텍처를 구성하고 Rabbit MQ 같은 메세지 큐 서비스를 사용해볼 것 같다.

profile
dev

0개의 댓글