전체 글
애자일 회고글 A to Z
안녕하세요. 2팀 백엔드 박세연입니다. 구글 엔지니어는 어떻게 일하는가에 대해 읽으면서 지속적으로 성장하고 협력하여 성공적인 프로젝트를 끝내기 위해서는 실패한 원인에 대해서 좀 더 구체적으로 분석을 하고 이를 피드백할 수 있는 포스트모템이라는 시스템이 필요하다는 것을 느끼게 되었습니다.포스트모템과 회고포스트모템은 실패한 근본 원인을 분석하고 문서를 남겨 실수로부터 배우는 방식입니다. 포스트모템만을 적용하게 된다면 우리 팀이 부족했던 부분 그리고 어떻게 해결할지에 대해서 좀 더 명확하게 접근이 가능할 수 있다 판단했지만 반대로 팀만이 가지고 있던 고유한 장점이나 잘하고 있던 점, 팀 단위의 피드백이 중점이기 때문에 보지 못했던 개인의 리뷰가 부족할 수도 있다 판단했습니다.따라서, 저희 팀은 포스트모템을 좀..
Transactional Outbox Pattern을 통한 웹툰 생성로직 분리
예전에 했던 `J-Toon`팀 프로젝트에서 다른 사람이 작성했던 웹툰 이미지 업로드 부분을 비동기 처리하면서 Transactional Outbox Pattern을 도입하며 리팩토링했던 부분에 대해 공유하고자 작성했습니다. 목표 웹툰 생성과 이미지 업로드 요청에 대한 응답 시간을 빠르게 하는 것이 목표 기존 @Transactional public void createWebtoon(Long memberId, MultipartFile thumbnailImage, CreateWebtoonReq request) { Member member = memberService.findById(memberId); validateDuplicateTitle(request.title()); UploadImageDto upload..
모니터링 시스템 구축 (Grafana + Prometheus + Spring)
서비스를 안정적으로 운영하기 위해서는 서버나 서비스에 대한 모니터링이 필수가 됩니다. 이러한 모니터링 도입과정에 대해 작성해보겠습니다. 목표 단일 Spring 서비스 환경에서 서비스 메트리과 시스템 메트릭을 모니터링 하는 환경을 구축하는 것이 현재 목표입니다. 최종적인 목표는 MS 환경을 생각하여 k8s와 각 파드에 대한 메트릭을 가져오고 이를 모니터링하고 얼럿까지 하는 것이었습니다. (k8s를 사용해본 적이 없었고 테스트 용도로 구성해서 시도해보기에는 비용적을 부담하기에는 별로라는 생각에 local환경에서 단일 노드를 구성하여 진행해볼 생각이었습니다. 하지만 k8s의 숙련도가 낮아 먼저 단일 서비스 환경에서의 모니터링 시스템을 구축 후 점진적으로 확장하면서 해당 내용을 공유해보겠습니다.) 모니터링 구조..