2025/11 6

실무에서 자주 사용하는 Redis 명령어 정리

Redis는 캐시용 인메모리 데이터베이스로 알려져 있지만,실무에서는 캐시를 넘어 세션 관리, 분산 락, 큐, 랭킹 시스템 등 다양한 용도로 활용된다.이번 글에서는 실제 프로젝트에서 자주 사용되는 주요 Redis 명령어와 그 활용 사례를 정리했다.1. SET / GET — 기본적인 Key-Value 저장Redis의 가장 기본적인 명령어는 SET과 GET이다. SET user:1 "Seongjun" GET user:1 Spring Boot에서는 StringRedisTemplate을 사용해 다음과 같이 구현할 수 있다. redisTemplate.opsForValue().set("user:1", "Seongjun"); String name = redisTemplate.opsForValue().get("user:..

database 2025.11.12

Kafka의 데이터 정합성과 Exactly-Once 보장: 중복 없이, 단 한 번만 처리하기

Kafka는 고성능 스트리밍 플랫폼이지만, 분산 환경에서 "메시지가 한 번만, 정확히 처리되는가?"는 매우 중요한 문제다.특히 중복 없이(exactly-once) 데이터를 전달하고 트랜잭션 단위로 정합성을 보장하는 것은 실무에서 반드시 고려해야 할 주제다.이번 글에서는 Kafka의 데이터 전달 보장, 트랜잭션, 그리고 정합성 보장 전략을 정리한다.1. Kafka의 데이터 전달 보장 수준Kafka는 기본적으로 3가지 수준의 메시지 전달 보장을 제공한다.보장 수준설명특징At most once메시지가 한 번 이하로 전달됨빠르지만, 유실 가능성 있음At least once최소 한 번은 전달됨중복 가능성 있음Exactly once정확히 한 번만 전달됨Kafka가 제공하는 가장 강력한 보장기본적으로 Kafka는 a..

분산시스템 2025.11.07

Outbox 패턴과 CDC(Change Data Capture)를 이용한 안정적인 이벤트 발행 구조

마이크로서비스 환경에서 가장 큰 난제 중 하나는 데이터 일관성이다.특히 서비스 간 통신을 위해 DB 트랜잭션과 메시지 브로커 발행을 함께 처리해야 할 때, 흔히 “이중 쓰기(Double Write)” 문제가 발생한다.예를 들어 주문이 생성되면 데이터베이스에 주문 데이터가 저장되고 동시에 Kafka로 이벤트를 발행해야 한다.하지만 이 두 과정은 각각 다른 시스템에 쓰기 작업을 하기 때문에, 하나는 성공하고 하나는 실패하는 상황이 발생할 수 있다.이런 문제를 해결하기 위한 대표적인 접근이 바로 Transactional Outbox + CDC(Change Data Capture) 패턴이다.1. 기본 아이디어Transactional Outbox는 트랜잭션 안에서 비즈니스 데이터와 함께 이벤트를 기록하는 패턴이다..

분산시스템 2025.11.07

트랜잭션과 격리 수준 비교 — MySQL vs PostgreSQL 완벽 정리

1️⃣ 트랜잭션(Transaction)이란?트랜잭션은 데이터베이스의 논리적 작업 단위로, 모든 작업이 전부 성공하거나 전부 실패해야 한다는 원자성을 보장합니다.ACID 원칙으로 정리할 수 있습니다:속성설명A (Atomicity)모두 수행되거나 모두 취소됨 (원자성)C (Consistency)트랜잭션 전후로 데이터의 일관성 유지I (Isolation)동시에 수행되어도 서로 간섭하지 않음D (Durability)커밋된 결과는 시스템 장애 후에도 보존2️⃣ 트랜잭션 격리 수준(Isolation Level)동시에 여러 트랜잭션이 실행될 때, 서로 간섭을 최소화하기 위한 규칙입니다.대표적인 4단계는 다음과 같습니다 격리 수준허용되는 현상설명READ UNCOMMITTEDDirty Read, Non-Repeatabl..

database 2025.11.06

Palo Alto Networks(PANW) 클라우드·AI 시대의 보안 패러다임을 이끄는 선두주자

1. 기업 개요Palo Alto Networks(팔로알토 네트웍스)는 미국 캘리포니아 산타클라라에 본사를 둔 글로벌 사이버보안 기업이다.2005년에 설립된 이후, 네트워크·클라우드·엔드포인트를 아우르는 통합 보안 솔루션으로 빠르게 성장해왔다.전통적인 방화벽을 넘어 클라우드 기반 SASE(Security Access Service Edge), AI 기반 위협 탐지 및 자동화 대응 등으로 사업 영역을 확장하며 보안 플랫폼화를 추진 중이다.대표적인 제품군은 다음과 같다:Strata: 차세대 네트워크 보안 플랫폼Prisma Cloud / Prisma SASE: 클라우드 및 원격근무 환경 보호Cortex XSIAM: 인공지능 기반 보안 운영 자동화 플랫폼2. 사업 구조와 전략Palo Alto는 세 가지 축을 중심..

tech company review 2025.11.01

JVM Garbage Collection 정리: 구조부터 G1GC까지

1. 왜 GC를 이해해야 하는가Java는 “메모리 자동 관리”를 제공하지만, 그게 “성능까지 자동”을 의미하진 않습니다.대부분의 경우에는 기본 설정으로도 충분하지만, 다음과 같은 상황에서는 GC 이해가 필수입니다.트래픽이 일정하지 않고 순간적으로 몰리는 서비스실시간성이 중요한 API 서버 (수백 ms 이상 멈추면 안 되는 경우)대용량 Batch / ETL / 메시지 처리 애플리케이션장시간 실행되는 Spring Boot 애플리케이션컨테이너 환경에서 Heap을 작게 잡을 수밖에 없는 경우이럴 때는 “GC가 언제, 왜, 얼마나 오래 멈추는지”를 이해해야 합니다. GC를 모르면 장애가 나도 원인을 ‘DB’, ‘네트워크’, ‘스레드풀’로만 의심하다가 시간을 날립니다.2. JVM 메모리 구조 개요JVM 메모리는 대..

java 2025.11.01