배경https://ho0214.tistory.com/40이전에 알림 실패를 재처리하기 위해 Outbox 패턴을 적용한 경험을 포스팅한 적이 있습니다. 당시 여러 자료들을 찾아보고 작성했는데,이후 관련 내용을 더 찾아보던 중 MSA에서 자주 사용되는 패턴을 정리한 https://microservices.io/index.html와Transactional Outbox패턴에 대한 게시글을 확인할 수 있었습니다. 해당 글을 읽어보니 고민하던 부분들이 상당 부분 포함되어 있어이를 바탕으로 다시 한번 정리해보려 합니다. Transactional Outbox가 필요한 상황서비스는 데이터베이스의 비즈니스 데이터를 생성하거나 변경한 뒤,그 결과를 메시지나 이벤트로 전달해야 할 때가 있습니다. 예를 들어 주문 서비스는 ..
TL;DR먼저 Transactional Outbox 패턴은1.비즈니스 데이터2.수행해야할 작업에 대한 정보(ex 메일 발송, 알림처리 등)를 하나의 DB트랜잭션에서 저장하고, 저장된 작업을 별도의 처리과정에서 비동기로 처리하는 패턴입니다. 이번 프로젝트에서는 계약 처리와 메일 발송을 분리하면서도발송해야 할 작업이 유실되지 않도록 Transactional Outbox 패턴을 적용했습니다. Outbox에 저장된 발송 요청은 시스템의 배포 환경과 처리량을 고려하여Scheduler기반 Polling 방식으로 조회하고 재처리하도록 구성하였습니다. 배경기존 전자계약 시스템은 사용자가 계약서를 생성하고 서명을 요청하고,최종적으로 계약을 완료하는 기능을 중심으로 제공하고 있었습니다. 이후 문서관리 시스템과 전자계약 시..
"오타니 쇼헤이도 작성했다는 만다라트."한 번쯤은 들어보셨을 겁니다. 저 역시 목표를 체계적으로 관리하고 싶어서 만다라트를 작성하기 시작했습니다. 실제로 사용해 보니 생각보다 많은 장점이 있었지만, 시간이 지나면서 몇 가지 문제를 발견하게 되었습니다. 오늘은 직접 사용해보며 느낀 만다라트의 장점과 아쉬운 점, 그리고 제가 찾은 해결 방법을 이야기해보려고 합니다. 오타니 쇼헤이와 만다라트만다라트가 유명해진 이유 중 하나는 메이저리그 선수 오타니 쇼헤이의 목표관리법 때문입니다. 고등학생 시절 오타니는 '8구단 드래프트 1순위 지명'이라는 목표를 가운데 적고, 그 목표를 이루기 위해 필요한 요소들을 8개의 영역으로 나누어 정리했습니다. 단순히 "열심히 하자"가 아니라,구속 향상체력 관리멘탈변화구인간성운처럼 목..
서론 - 왜 데일리 리포트를 써야할까?변하기 위해서처음 데일리 리포트를 접한 지 벌써 7년 정도 되었다.그 당시 "변하고 싶다면 기록하라." 라는 문구와 함께 데일리 리포트를 알게 되었다. 하루는 생각보다 빨리 지나간다.출근하고, 일하고, 밥을 먹고, 잠깐 쉬다 보면 어느새 밤이다. 그리고 문득 이런 생각이 든다."오늘 뭐 했지?""나는 지금 잘 살고 있는 걸까?" 분명 바쁘게 살고 있는데, 지나고 나면 기억나는 게 많지 않다. 무엇을 잘했고, 무엇을 못했고, 어디에 시간을 쓰고 있는지조차 알기 어렵기 때문이다.그래서 기록이 필요하다.기록은 지금의 나를 객관적으로 보여주고, 무엇을 바꿔야 하는지 알려준다. 몰입도를 높이기 위해서.우리는 하루 종일 바쁘게 산다.하지만 바쁜 것과 몰입한 것은 다르다. 8시간..