마이크로 서비스 (MSA)로 구축.
프로젝트 제작 이유 : 대규모 트래픽을 빠르고 효율적으로 처리하며 데이터 안전성과 일관성을 지키는 프로젝트
해당 구조에서
Order service는 outbox를 이용하여 데이터 원자성을 유지했는데 Stock Service에서 Redis 재고를 깎았지만 kafka로 메세지 전송을 실패하면 어떻게 복구를 할지 고민중입니다.
1. Order Service처럼 Stock Service도 Outbox 및 Stock DB를 이용하기
장점 : 원자성 보장
단점 : "트래픽을 빠르고 효율적으로 처리하는" 목표와 어긋남
2. Stock Service에서 재고만 조회 후 Kafka로 메세지 전송이 성공하면 재고를 깎기
장점 : 빠름
단점 : "데이터 안전성과 일관성을 지키는" 목표와 어긋남, Redis에서도 재고 차감이 안 될 수도 있음
또는 형님들의 좋은 방법이 떠오르신다면 말씀해주세요 ㅜㅜ
* 조언도 감사히 받겟씁니다
뭔 서비스를 기능별로 스프링에 올리고 레디스랑 카프카로 원자성만 엮으면 msa인줄아네 실제로는 강하게 결합되서 정말 쓰레기같은 아키텍처가 만들어지겟네
이런 방식을 당당하게 포폴에 올리면 면접관이 얼마나 흥분할까 이것이 코리아의 msa입니까 하면서 어그리 인도인들이 오줌질질흘리면서 뽕맛가겟네
@개씹좆비호감스린이 그러면 어떤식으로 해야할까요 형님,,
@글쓴 백갤러(175.117) 걍 무시해라 좆도모르는데 자기 감정 배설하러 온새기임
@글쓴 백갤러(175.117) 지도 모름 그냥 병신임 ㅋㅋ
대규모 트래픽을 빠르고 효율적으로 처리하며 데이터 안전성과 일관성을 지키는 프로젝트 라는 전체부터 잘못됐잖아 그런 이유에서 msa를 쓰는게 아닌데
신입이면 msa는 그냥 안하는게.. - dc App