본문 바로가기

항해 플러스 백엔드/대용량 트래픽 처리4

[항해] 9주차, Kafka로 메세징 처리하기 항해 9주차에는 Kafka라는 기술이 무엇인지 살펴보았다!분산 시스템에서 Kafka를 활용하여 메세지를 처리하는 방식에 대해 배웠다.또한 이벤트 기반 아키텍처에서 Kafka를 활용하여 서비스를 유연하게 확장하는 방법과, 안정적인 이벤트 처리를 위한 전략도 함께 익혔다~! 목차1. Kafka란?2. Kafka 핵심 아키텍처 이해3. 마이크로서비스와 카프카 기반 이벤트 확장4. 안정적인 이벤트 처리를 위한 핵심 전략5. 회고 1. Kafka란?카프카(Kafka)는 분산형 스트리밍 플랫폼으로, 대량의 데이터를 안정적이고 실시간으로 처리할 수 있도록 설계되었다.카프카는 주로 대량의 이벤트 스트림 데이터를 처리하고 여러 시스템 간에 데이터를 신속하게 전송하는 데 사용된다.기업에서 대규모 데이터 처리 및 이벤트 기.. 2025. 2. 23.
[항해] 8주차, 쿼리 성능 개선 & 이벤트 구현 항해 8주차에는 Index와 애플리케이션 이벤트에 대해 알아보았다~!Index를 적절하게 설정해서 각 쿼리에 대해 부하를 줄일 수 있도록 개선하였다. 그리고 비즈니스를 핸들링 할 수 있도록 선후관계를 파악한 뒤, 애플리케이션 이벤트를 활용해 관심사를 분리해보았다! 목차1. Index란?2. 쿼리 문제 분석 및 Index 적용3. Index 적용 전, 후 성능 비교4. 트랜잭션 분리 및 전략5. 이벤트 기반 아키텍처 적용6. 회고 1. Index란?Index는 데이터베이스 테이블에 대한 검색 성능의 속도를 높여주는 자료구조이다. 특정 컬럼에 Index를 생성하면, 해당 컬럼의 데이터들을 정렬하여 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장된다. 또한, Index 생성 시 오름차순으로 정렬하기 때.. 2025. 2. 16.
[항해] 7주차, Redis를 활용한 캐싱 & 대기열 시스템 개선 항해 7주차에는 캐시의 개념과 다양한 전략에 대해 살펴보았다!또한, 캐싱에 주로 사용되는 기술인 Redis를 공부하고,기존 대기열 시스템의 성능을 향상시키기 위해 Redis를 활용한 개선 작업도 진행했다. 😎 목차1. Cache란?2. Caching Strategy3. Cache Stampede 문제4. 대기열 개선(feat. Redis)5. 회고 1. Cache란?캐시(Cache)란 자주 사용하는 데이터나 결과를 임시로 저장하여, 동일한 요청이 반복될 때 빠르게 제공하는 기술이다.데이터를 매번 조회하거나 계산하는 대신, 캐시된 데이터를 활용하여 성능을 크게 향상시킬 수 있다.원래 데이터를 접근하는 시간이 오래 걸리거나, 반복적으로 동일한 결과를 돌려주는 경우(ex 이미지, 썸네일)에 캐시를 사용해볼 .. 2025. 2. 16.
[항해] 6주차, 동시성 제어 방식 분석 항해 6주차에는 동시성 제어 방식에 대해 학습하였다~!콘서트 예약 서비스의 주요 시나리오에서 동시성 이슈가 발생하는 상황을 분석하고, 기능별 성격에 따라 적합한 동시성 제어 방식을 적용하는 것까지 진행해보았다! 목차1. 동시성 문제란?2. DB의 동시성 문제3. 데이터베이스락4. 분산락5. 시나리오에 락 적용6. 회고  1. 동시성 문제란? 동시성 문제(Concurrency Issue)란 다수의 프로세스나 스레드가 동시에 공유 자원(데이터, 메모리, 데이터베이스 등)에 접근하거나 수정하는 과정에서 발생하는 문제이다. 이를 제대로 해결하지 못하면 데이터의 일관성이 깨지거나 예상치 못한 오류가 발생할 수 있다. 예를 들어서 인기 콘서트 티켓 예매를 생각해보자. 유저 A와 B가 동시에 "예매하기" 버튼을 눌렀.. 2025. 2. 16.