낙서/고민

    결제 후 포인트 적립, 차감에 실패하면 어떡하지?

    결제 승인과 포인트 적립, 차감을 별도의 트랜잭션으로 분리했다. 포인트 적립, 차감에 실패했다고 해서 결제 관련 로직을 통째로 롤백시키는 건 이상하다고 생각했기 때문이다. @TransactionalEventListener로 코드 분리해서, 이벤트에서 포인트 적립, 차감시키게 했는데. 그런데 회원이 결제에 성공했는데 포인트 적립, 차감이 적용되지 않아도 문제다. 포인트가 정상적인 상태가 아닐 때 회원이 그 포인트로 또 결제에 성공하면 데이터가 상당히 어긋나게 된다.  몇 가지 방법이 있는데: 1. 보상 트랜잭션포인트 적립, 차감에서 예외 발생 시 보상 트랜잭션을 발행하여 결제를 취소시키는 것이다. 이건 너무 이상한 것 같다. 포인트 적립에 실패했다고 해서 무려 성공했던 결제를 다시 환불하기까지 한다는 점이..

    사이드 프로젝트하면서 한 고민 여러가지

    사이드 프로젝트하면서 한 고민 여러가지

    마이크로서비스 API 분리 OR 통합?상황은, Member 엔티티와 Point, Coupon 엔티티가 서로 다른 마이크로서비스에 속해있다. 그런데...만약 이런 화면이 있다면? 그러니까, Member 정보, Point 정보, Ticket 정보 모두가 필요한 화면이 있을 때 API를 어떻게 구현해야 할지 고민이다. Member 마이크로서비스에서 Point, Ticket 쪽 서비스에 요청해서 데이터를 가져와 모두 합쳐서 한 번의 API로 리턴프론트 쪽에서 각각 Member, Point, Ticket 쪽에 3번 조회 요청을 보냄1번은 Member 마이크로서비스에 Point, Ticket 관련 DTO들을 중복해서 생성해줘야하는 게 번거롭다. 그것 말고는 딱히 단점이 생각이 안 나네. 2번은 하나의 화면에 있는 ..