Incident Library
적용된 필터 증상데이터 저장소 읽기 불일치기여 요인순환 의존조직Monzo모두 풀기검색어 없이 필터만 적용한 목록입니다. 최근 사례부터입니다.
추천 필터 검색하면 검색어에서 찾은 분류 값이 여기에 나옵니다.

그래프

  • 원인
  • 구성 요소
  • 증상
  • 기여 요인
  • 사례

사례1건

1건 중 1~1번째

  1. 증상

    2019년 7월 29일 13:14 BST 에 Mastercard 카드 거래 일부가 실패한다는 자동 알림이 울렸다. 같은 시각 고객 응대 팀이 고객과 소통하는 도구가 제대로 동작하지 않아 앱 채팅으로 고객을 도울 수 없다고 알려 왔다.

    촉발

    2019년 7월 29일 13:10 BST 에 Cassandra 클러스터에 새 서버 여섯 대를 넣었다. 운영 환경의 auto_bootstrap 플래그는 false 였다.

    원인
    구성 요소
    기여 요인
    감지

    13:14 BST 에 Mastercard 카드 거래 일부가 실패한다는 자동 알림이 울렸고, 같은 시각 고객 응대 팀이 고객 소통 도구가 동작하지 않는다고 알려 왔다.

    조치
    • 계획해 둔 대체 배포 방법으로 Mastercard 서비스의 수정을 배포했다.
    • 새 Cassandra 서버를 한 대씩 빼서 데이터 담당을 원래 서버로 안전하게 되돌렸다.
    • 새 서버 여섯 대가 읽기와 쓰기를 처리하는 동안 쓰인 데이터를, 외부에 저장한 이벤트를 재생하고 내부 정합성 확인 작업을 돌려 바로잡았다.
    후속 조치
    • auto_bootstrap 설정을 바로잡았다.
    • Cassandra 의 다른 설정을 두고 내린 결정을 모두 검토하고 문서로 남겨, 확장이나 재시작 같은 작업의 런북을 늘렸다.
    • 더 많은 지표를 드러내고, 'row not found' 같은 지표가 크게 바뀌면 알림을 보내는 방안을 검토한다.
    • 장기적으로 큰 Cassandra 클러스터 하나를 작은 클러스터 여러 개로 나눈다.
    교훈

    Monzo 는 Cassandra 운영 지식에 빈틈이 있었다. 롤링 재시작이나 서버 업그레이드는 자주 했지만 서버 추가는 드물었다. 시험 환경에서는 운영과 같은 규모로 시험하지 않아 여섯 대 대신 한 대로 시험했고, 쿼럼을 고려하지 못했다. Cassandra 가 원인임을 보여 주는 지표가 없어 대응이 늦었다. 클러스터 하나로 모든 서비스를 돌리면 변경 하나의 영향이 넓고 장애 원인을 짚기도 어렵다. 이번에는 첫 알림부터 Cassandra 를 원인으로 짚기까지 거의 한 시간이 걸렸다.

내 클러스터에도 있는지 확인하기

이 사례에서 가장 많이 나오는 구성 요소: 데이터베이스. kubegap 은 Claude Code 나 Codex 에서 쿠버네티스 클러스터를 읽기만 하며 이런 틈을 점검합니다. 점검 항목의 근거는 이 라이브러리와 같은 공개 보고서입니다.

원인별1