비동기 로직에 대한 보상처리는 설계 자체가 어렵네요;
페이지 정보
작성자
LeoNa

작성일
2025.04.12 14:33
본문
비동기 처리에 대해서 메세지 큐를 통해서 간단한 시스템 설계를 해보려고합니다.
그런데 공부하면 할수록 뭔가 이상합니다.
분명 산이 보이는데 가면 갈수록 산이 멀어...집니다?
실패에 대해서 보상을 어떻게 가져갈 것인가를 고민하다보니 그렇다면 으디에서 관리하는게 맞을지
그거에 대해서 어느 정도까지 정보를 저장할지? 그리고 전파를 어디까지 보내야할지...
으어...공부할게 늘어나네요...
요즘 이런 설계쪽도 인력이 많이 필요하다고 한 것같아서 공부하는데 ㅠㅠ
어렵습니다...
2명
추천인 목록보기
댓글 5
LeoNa님의 댓글의 댓글
작성일
04.12 20:28
@에놀미타님에게 답글
한 비즈니스가 여러개의 서비스에 구독을 날릴 경우를 생각한거라서... 단순히 실패로직에 대해서 재시도만하면 문제가 있지않을까요?
에놀미타님의 댓글의 댓글
작성일
04.12 20:49
@LeoNa님에게 답글
실패 원인이 어떤 경우인지 모르겠지만..
복구 가능한 예외는 재시도, 아니면 실패 처리 후 피드백
단순히 재시도만 하면 문제 있죠!
복구 가능한 예외는 재시도, 아니면 실패 처리 후 피드백
단순히 재시도만 하면 문제 있죠!
좋은소금님의 댓글
작성자
좋은소금

작성일
04.14 11:48
기존에 가지고 있던 모놀리식 트랜잭션 개념을 그대로 가져가면 어렵고 복잡하고 답이 없습니다.
트랜잭션이 꼭 필요한 도메인을 되도록 하나의 서비스로 모으고, 나머지 마이크로서비스는 메세징으로 처리하고 실패해도 재실행되게 만들면 됩니다. (참 쉽죠...)
트랜잭션이 꼭 필요한 도메인을 되도록 하나의 서비스로 모으고, 나머지 마이크로서비스는 메세징으로 처리하고 실패해도 재실행되게 만들면 됩니다. (참 쉽죠...)
Realtime님의 댓글
작성자
Realtime

작성일
04.15 05:27
이런 쥐꼬리 만한 월급으로 그 많은 빚을 언제 다 카프카? (ㅌㅌㅌ)
메세징 팀에서 메세지 큐 다룰 때, 이런 룰을 정하거나 장애 대응도 중요하지만, 요구 되는 클라이언트 언어 종류가 많으면 참 골치 아프겠더라구요. 이건 뭐 자바는 기본에 고, 파이썬, 자바스크립트, 러스트.... 그래도 벡엔드에서 전문화하기 좋은 영역이어서 준비해놓을 필요가 있는 것 같습니다.
메세징 팀에서 메세지 큐 다룰 때, 이런 룰을 정하거나 장애 대응도 중요하지만, 요구 되는 클라이언트 언어 종류가 많으면 참 골치 아프겠더라구요. 이건 뭐 자바는 기본에 고, 파이썬, 자바스크립트, 러스트.... 그래도 벡엔드에서 전문화하기 좋은 영역이어서 준비해놓을 필요가 있는 것 같습니다.
에놀미타님의 댓글