
image.png종종 YES24나 인터파크에서 티켓을 예매하곤했는데, 티켓 오픈 시간과 동시에 적게는 수천 명, 많게는 수만 명이 한꺼번에 몰려들었습니다. 이때 제 대기 번호와 현재 대기자 수 등 실시간 대기 정보를 확인할 수 있었고 문득 이러한 시스템이 어떠한 구조를
이번 프로젝트에서는 대기열 기능을 구현하기 위해 Redis의 Sorted Set(ZSet)을 사용합니다. ZSet은 중복을 허용하지 않으며, 각 요소에 부여된 score 값을 기준으로 자동 오름차순 정렬이 이루어지는 구조입니다. 이를 통해 순위 조회, 자동 정렬, 범위 검색 등 대기열 시스템에 필요한 다양한 기능을 사용할 수 있습니다. Redis 설정...

Apache Kafka https://velog.io/@ayeah77/Apache-Kafka-Debezium-CDC Zookeeper 실행 ( Kafka 파일 경로 ) Kafka 실행 ( Kafka 파일 경로 ) Kafka Connect Worker 실행 ( Ka
Kafka Connect Kafka Connect는 Kafka Connector를 실행하는 프레임워크이자, 외부 시스템과 Kafka를 연결해주는 플랫폼 Kafka Cluster의 일부가 아니며, Kafka 외부에서 실행되는 독립적인 서비스입니다. Kafka Connect의 구성 요소 Worker : Connector를 실행하고 관리하는 프로세스 ( ...

대기열 시스템은 Redis 기반의 비동기 로직을 사용하고 있기에, 동시 사용자 환경에서의 안정성과 응답 성능이 매우 중요합니다. 따라서, 실제로 서비스를 이용하는 형태로, 다양한 동시 요청 상황에서의 반응 속도, 중복 등록 방지 로직의 유효성 등을 검증하기 위해 부하

Spring WebFlux Reactive Programming을 기반으로 구축된 Spring Framework Netty 기반의 논블로킹 이벤트 루프 아키텍처로 동작합니다. Netty image.png Java 기반으로 구현된 비동기/논블로킹 방식의 Even

현재 대기열 시스템은 사용자 상태 관리를 위해 DB를 사용하고 있지만, 이는 필수적인 요소가 아니며 비동기 애플리케이션에서 동기적 처리를 유발해 전체 성능을 저하시키고 시스템의 일관된 비동기 처리 흐름을 깨뜨리는 문제를 발생시키고 있습니다. 이에 따라 DB 의