최종 프로젝트를 준비하며 팀원들과 기술 스택에 대해 이틀동안 이야기를 나누고 있다.
낯선 기술이 많아서 먼저 기술을 알아가는 시간을 가지기로 했다.
각자 배우지 않았던 기술을 한두개씩 담당해서 30분동안 공부해온 뒤 서로에게 알려주는 방식으로 진행해봤다.
나의 담당 기술은 도커와 메시지큐였고, 이때 정리한 내용을 올리려고 하는데 30분동안 정말 감만 잡은!! 감도 100% 잡은게 아니고 어떤 상황에 어떤 기술과 연계가 되는지 정도만 아주 대략적으로!! 담긴 내용이기 때문에 정보성 글보다는 그냥 개인 기록정도로 보는 것이 맞을 것 같다.
도커
컨테이너 기반의 오픈소스 가상화 플랫폼
여기서 컨테이너는 항구에서 볼수있는 그 컨테이너를 떠올리면 이해가 쉬울 것 같음
- 프로그램, 실행환경을 컨테이너로 추상화
- 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순화
어떤 프로그램도 컨테이너로 추상화할 수 있고, 어떤 환경에서도 실행할 수 있다
이미지는 컨테이너를 실행하기 위해 필요한 파일, 설정값 등을 포함하고 있는 것
package.json 파일의 상위호환같은 건가?
새로운 서버가 추가됐다
-> 미리 작성된 이미지를 다운받고 컨테이너를 생성만 하면 끝
메시지큐
먼저 메시지+큐에 대해 나눠서 생각해보기
큐는 이전 TIL에서 작성한 내용이 있어서 그 부분을 가져왔다.
메시지란?
애플리케이션에서 다른 애플리케이션을 이용할 수 있도록 생성하는 데이터를 말함
요청, 응답, 오류 메시지 혹은 단순한 정보 등의 작은 데이터를 의미
그럼 메시지큐는?
프로세스나 프로그램 간에 데이터를 교환할 때 쓰는 통신 방식
메시지 지향 미들웨어라고도 한다<<미들웨어!
요약하면 임시로 저장하는 간단한 버퍼
언젠가는 큐에 있는 메시지가 소비되어 처리될 수 있는 작업들을 대상으로 처리하는 것이 좋음
응답은 어느정도로 지연이 허용되더라도 핵심기능이 아닌 경우에 사용
예시로는 이메일 전송, 카카오톡 전송
메시지 큐는 "메시지", 즉 애플리케이션에서 다른 애플리케이션이 이용할 수 있도록 생성하는 데이터 패킷을
전송되는 순서대로 이용하는 애플리케이션에서 해당 메시지를 처리할 수 있는 상태가 될 때까지 저장한다
그러면 메시지는 수신 애플리케이션에서 준비될 때까지 대기하게 된다
즉, 네트워크나 수신 애플리케이션에 문제가 생기더라도 메시지 큐에 있는 메시지는 사라지지 않게 된다
대용량 트래픽을 다룰 때 수신 과정에서 문제가 생길 수 있는 부분에 대기공간을 보험처럼 한번 더 걸어두는 것이라고 이해
(결국 비동기)
큐에 메시지를 생산한다<핵심
'🪩 > 기타' 카테고리의 다른 글
최종프로젝트 오류 (0) | 2024.04.05 |
---|---|
[DB] RDBMS, SQL, NoSQL (0) | 2024.03.29 |
[NestJS] 기본 로직 (0) | 2024.03.15 |
[NestJS] 컨트롤러, 핸들러, 서비스 (1) | 2024.03.14 |
[Nest.js] Select 'Retry as Sudo' to retry as superuser. 에러 (1) | 2024.03.07 |