전체 글

· 개발
DLQ(Dead Letter Queue)는 DLT(Dead Letter Topic)로도 불리며 소프트웨어 시스템에서 오류로 인해 Message Queue에서 처리할 수 없는 메시지를 임시로 저장하는 Queue 또는 Topic을 뜻합니다. DLQ는 왜 사용할까?Consumer가 메시지를 전달받아 외부 API를 호출한 뒤 결과를 저장한다고 가정해보겠습니다.이때 외부 API 제공사의 일시적인 장애나 네트워크 문제로 인해 메시지 처리 중 예외가 발생할 수 있습니다. 이러한 경우에는 일반적으로 Retry를 통해 문제를 해결할 수 있습니다.하지만 Retry를 모두 소진했는데도 처리하지 못한 메시지는 결국 별도의 처리가 필요하며, 이때 DLQ를 활용할 수 있습니다.DLQ를 사용하면 실패한 메시지를 별도로 보관하여 정..
· 개발
AWS Step Functions 란AWS Step Functions는 AWS Lambda 및 다양한 AWS 서비스를 연계해 분산 애플리케이션과 프로세스를 자동화할 수 있는 서버리스 오케스트레이션 서비스입니다. 워크플로를 상태 머신(State Machine) 기반의 이벤트 흐름으로 구성하며, 각 단계(State)를 통해 작업을 순차적으로 실행·관리할 수 있으며, 마이크로서비스 오케스트레이션, 데이터 파이프라인, 머신러닝 워크플로 구축 등에 활용됩니다.State에서 task를 수행하고, 결과를 다른 task로 전달할 수 있습니다.State Machine == Workflow 시각적 워크플로를 사용하여 워크플로를 빌드하고 편집할 수도 있으며, ASL이라고도 하는 Amazon States Language를 사..
· 개발
AWS에는 SNS(Simple Notification Service)라는 서비스와 SQS(Simple Queue Service) 서비스가 존재합니다.메시지를 전달하거나 처리하는데 사용이 되는점에서 혼동할 수 있어 하나씩 살펴보겠습니다. 저희가 카프카나 rabbitmq를 통해서 메시지 처리를 하는것처럼 발행/구독(Pub/Sub)패턴, 메시지 큐(Queue) 패턴으로 사용될 수 있습니다.물론 rabbitMq에서 Exchange를 통해 발행/구독(Pub/Sub)패턴으로 처리할 수 있습니다. AWS SNS(Simple Notification Service)AWS SNS는 발행자(Publisher)에서 구독자(Subscriber)로 애플리케이션과 애플리케이션(A2A) 혹은 사용자간(A2P) 통신 모두를 위한 완전..
· DB
엘라스틱서치란?아파치의 루씬 라이브러리를 기반으로 만든 분산 검색 엔진으로 JSON 기반의 문서를 저장, 색인(index), 검색하기에 분산 NoSQL 스토리지의 성격도 가지고 있습니다.단순한 텍스트 매칭 검색이 아닌 전문 검색(full-text search)이 가능하며 다양한 종류의 검색 쿼리를 지원하며 역색인(Inverted Index)을 사용하여 검색속도도 매우 빠릅니다.다양한 애널라이저를 조합하여 여러 비즈니스 요구사항에 맞는 색인을 구성할 수 있고 형태소 분석도 가능합니다.분산 처리를 고려하여 설계되어 데이터를 여러 노드에 분산 저장하며 검색이나 집계 작업 등을 수행할 때도 분산처리를 지원합니다. 용어 이해하기우선 저희가 가장 잘 이해하고 있는 RDB와 비교하면 아키텍처가 아래 이미지와 같다고 ..
서비스가 성장하고 트래픽이 증가하면 RDB에서 Slow Query가 점진적으로 늘어날 수 있습니다. 그 원인 중 하나는 Lock 경합 증가입니다.예를 들어, SELECT ... FOR UPDATE 구문 사용 시 트랜잭션 범위가 길어지면 레코드 락이 유지되는 시간이 길어져 동시성이 저하될 수 있습니다.또한 UPDATE 쿼리 실행 시 적절한 인덱스가 존재하지 않으면, 인덱스를 통한 범위 검색이 아닌 Full Table Scan이 발생할 수 있습니다. 이 경우 InnoDB는 조건에 해당하는 레코드를 찾는 과정에서 불필요하게 많은 레코드를 탐색하게 되고, 결과적으로 광범위한 레코드 락이 발생하여 다른 트랜잭션의 대기를 유발할 수 있습니다. 운영 환경에서는 일반적으로 DDL 수행을 지양하지만, 장애 상황이나 긴급..
uhanuu
몸뚱아리부터 마음가짐까지