728x90

2025/03 3

서버에 도메인을 부여하는 방법 (1)

도메인의 필요성사이드 프로젝트를 진행하며 앱 출시를 앞두게 되었다.처음 앱 출시 당시에는 사용자가 많지 않을 것으로 예상해 서버는 ec2 인스턴스 1대로 운영하기로 했다.테스트 과정에서는 aws에서 자동 생성해주는 ec2 도메인을 사용하여 통신했다. 그런데 앱 출시 후 트래픽이 늘어나면 인스턴스를 바꾸거나 늘리는 등의 스케일 조정이 필요할 것이고,그렇게 되면 ec2 자동 생성 도메인이 교체되어 이미 출시된 앱과의 통신이 어려워 진다. 추후 서버 스케일링을 위해 로드 밸런서 사용하기도메인 구매하기두 가지 방안을 고민했는데, 당장은 도메인을 구매하는 것이 더 비용적으로 저렴하고로드 밸런서를 사용하더라도 aws 자동 생성 도메인을 사용하면로드 밸런서를 교체할 때 인스턴스 교체와 마찬가지로 곤란하게 되므로도메인..

AWS SQS와 DLQ 사용법 - SQS에서 실패한 메시지를 다시 소비하는 방법

회사에서 운영하던 서비스의 리워드 지급 과정에서 대량으로 오류가 발생했다.리워드 지급 건들을 메시지 큐에 쌓고워커가 이를 처리하는 방식이었는데, 워커에서 지속적으로 메시지들이 처리 실패되어 결국 23만 건의 메시지가 DLQ에 쌓이게 되었다. 결국 데이터베이스 배치 작업으로 실패 건들을 처리했지만,SQS와 DLQ에 대해 잘 알고 있었다면 더 잘 대응할 수 있었을 것 같다. 메시지큐, SQS, DLQ에 대해 알아보자.메시지큐란?메시지 큐(Message Queue)란 서버, 마이크로 서비스 간에 비동기 방식으로데이터를 주고 받을 수 있도록 도와주는 시스템이다. 메시지 생성자 (프로듀서, Producer)와 메시지 소비자(컨슈머, Consumer)가 있을 때,메시지 생성자가 메시지를 큐에 쌓아 두면, 메시지 소..

환경 2025.03.17

Redis Pub/Sub 기능 사용하기 (feat. NestJS)

Publish-Subscribe 패턴Redis의 pub/sub을 살펴보기 전에 pub/sub이 어떤 기능인지부터 살펴보자. publish-subscribe (pub/sub)은메시지 발행자(publisher)는 특정 채널에 메시지를 보내고,해당 채널을 구독한 모든 구독자(subscriber)들은 그 메시지를 수신하는 방식이다.이는, 발행자가 구독자에게 직접 메시지를 보내는 일반적인 메시징 패턴과 구분된다.구독자가 없다면 메시지는 사라지고 복구되지 않는다. 이러한 구조는 발행자와 구독자가 서로를 알 필요 없이 독립적으로 동작할 수 있게 하여(decoupling),시스템의 확장성과 유연성을 높인다. Redis Pub/Sub"channel11" 과 "ch:00" 채널을 구독하려는 클라이언트는 아래와 같이 입력한..

DataBase/Redis 2025.03.02
728x90