본문 바로가기
Projects (개인)

Distributed Systems Reliability Lab

Links

2025~Present. Kafka/Redis/MySQL 기반으로 유실·중복·정합성·복구 시나리오를 결정론적으로 재현하고, 티켓 단위 실험(E-xxx)과 자동 assert를 축적하는 신뢰성 실험 프로젝트.

Tech Stack

  • Kafka
  • Redis
  • MySQL
  • Spring Boot 3.x (Java 21)
  • Gradle Multi-module
  • Docker Compose
  • Schema Registry (Avro)
  • Prometheus
  • Grafana
  • k6
  • Chaos Engineering
  • Runbook

Ticket-by-Ticket Experiments

  • B-0321 (E-001): 정상 경로 baseline(success) 검증
  • B-0322 (E-002): direct-produce 유실 재현
  • B-0323 (E-003): 중복 처리 부작용 재현
  • B-0324 (E-004): at-most-once 손실 재현
  • B-0325 (E-005): Retry → DLQ → Replay 복구 루프 검증
  • B-0326 (E-006): Consumer-First 스키마 배포 순서 검증
  • B-0327 (E-007): LEO/HW/LSO 가시성 차이 검증
  • B-0328 (E-008): cache stampede 실패/완화 비교
  • B-0329 (E-009): ISR/minISR/acks 조합 리스크 검증
  • B-0333 (E-010): Redis cluster slot/hashtag 실험
  • B-0334 (E-011): hot key/hot shard 실험
  • B-0335 (E-012): tx abort/skip-like 시나리오
  • B-0336 (E-013): Redis Lua 정합성 안티패턴
  • B-0337 (E-014): processed_event retention 정책
  • B-0338 (E-015): Schema Registry compatibility gate
  • B-0341 (E-018): rebalance storm 재현
  • B-0342 (E-019): MySQL deadlock contention 실험
  • B-0345 (E-022): backfill batch/rate/checkpoint 통제
  • B-0346 (E-023): partial outage 시 degradation 비교
  • B-0353 (E-IAM-001, E-IAM-002): consumer group 권한 누락/토픽 write 거부
  • B-0354 (E-IAM-003): idempotent produce 권한 누락
  • B-0357 (E-024): 쿠폰 동시성 Redis vs MySQL 게이트 비교
  • B-0360 (E-025): frontend request-id idempotency 경로 검증
  • B-0361 (E-039A, E-039B): 분산락 실패 모드 vs fencing token/safe unlock
  • B-0362 (E-044): ElastiCache online resharding under load
  • B-0363 (E-045): ElastiCache failover drill
  • B-0364 (E-046): reconnect storm/backoff 효과
  • B-0365 (E-047): slowlog/log-delivery p99 진단
  • B-0366 (E-048): pub/sub slow-consumer output-buffer 압박
  • B-0367 (E-049): restricted commands compatibility gate
  • B-0368 (E-050): serverless vs node-based semantics gap
  • B-0369 (E-051): MySQL RR vs RC (MVCC/read view/phantom)

Architecture Diagram

diagram rendering...