AWS 엔지니어 마크 브루커가 분산 시스템과 데이터베이스에서 일어나는 치명적 장애 현상을 애니메이션으로 시각화한 글을 공개했습니다.
Postgres의 캐시 고갈이나 etcd의 부하 폭주 및 GC 루프로 인한 시스템 불능 상태를 실제 트레이스 데이터를 기반으로 생생하게 보여줍니다.
실제 검증된 프로덕션 소프트웨어에서도 자가 회복이 불가능한 메타안정성 장애가 실재함을 직관적으로 입증했습니다.
요약 AWS 엔지니어 마크 브루커(Marc Brooker)가 시스템 장애 메커니즘을 직관적으로 이해할 수 있도록 애니메이션으로 시각화한 프로젝트를 블로그에 소개해 화제가 되고 있습니다.
그는 LLM을 활용해 시스템의 작동 및 실패 원리를 애니메이션으로 시각화하는 작업을 시도했는데, 대표적으로 Raft 클러스터에서 단 하나의 노드 저장소 계층이라도 fsync() 처리를 속일 경우 쓰기 유실(lost write)이 발생할 수 있다는 점을 영상으로 보여주었습니다. 또한 '메타안정성 장애(metastable failure)'가 가상의 문제가 아니라 실제 프로덕션 시스템에서도 충분히 일어난다는 점을 입증하기 위해 실제 환경의 트레이스 데이터를 기반으로 애니메이션을 구성했습니다.
구체적으로 PostgreSQL 16의 경우, 평소 초당 20쿼리를 페이지 캐시로 원활히 처리하다가 부하가 급증하면 쿼리 메모리(각 12MB) 점유로 인해 디스크 읽기가 강제되며 급격한 성능 저하를 겪는 현상을 시각화했습니다. 널리 사용되는 분산 저장소인 etcd 역시 일시적인 쓰기 부하가 노드 미응답과 클라이언트 재전송 폭풍을 유발하거나, 초당 읽기 부하 급증이 GC(가비지 컬렉션) 지연을 키우고 CPU 점유율을 갉아먹으며 시스템이 스스로 회복하지 못하는 악순환에 빠지는 모습을 재현해 냈습니다. 브루커는 이 애니메이션들이 실제 테스트 환경에서 추출한 트레이스 데이터를 바탕으로 Kiro 및 KiroCrew 등을 활용해 제작되었다고 밝혔습니다.