대환장파티 예외 처리 일지

이건 예상 못했지?🤪

리디에서 Kafka를 사용하는 법 - 리디주식회사 RIDI Corporation

우리팀은 카프카를 어떻게 사용하고 있을까 | 우아한형제들 기술블로그

Apache Kafka Version 3.7.0 Apache Zookeeper Version 3.9.2 Apache Kafka는 3.5.X 부터 Zookeeper 지원을 종료했으며, 3.7.0 은 ZK 모드가 포함된 마지막 릴리즈 버전

Open Eye Im Developer

우리가 만든 서비스, mogakGo 깃허브 링크

지금까지의 진행 상황

사용자가 서비스 접속 · 찔러보기 · 프로젝트 생성 · 프로젝트 매칭 과 같은 Task를 수행하게 되면, 이에 대해 해당 사용자의 현재

업적에 대한 현황을 토대로 업적 이력업적 달성 처리 Task를 수행한다. 그리고 업적이 달성되면 사용자에게 업적 달성 알림

을 실시간으로 전송한다. 전자의 Task를 A , 후자의 Task를 B 라고 편하게 부르겠다. A가 수행되면 B는 무조건 수행되어야 하

지만, 예외 상황을 생각해보자. 만약 A가 실패했다면 B 역시 무조건 실패해야 한다. 만약 A가 성공했는데 B가 실패하는 경우에는

어떻게 해야 할까? B 작업은 그 자체로 주요한 작업이기는 하지만 B의 실패로 인해 A가 롤백되어 버린다면? 사용자가 직접 확인

할 수 있는 플랫폼에서 A 작업은 표면적으로 드러나지만 B 작업은 백그라운드에서 작업이 되기 때문에 사용자는 실패의 원인을

알지 못한 채로 다시 A 작업을 수행해야 할 것이다. 이러한 플로우는 사용자에게 안 좋은 서비스 경험을 남기게 될 것이라고 생각