[포텐데이 409-1pick] 분석 서비스 개발 중 만난 데드락과 동시성 문제 해결기 (5)
·
Project
이전 포스팅에서 데드락과 동시성 문제를 해결하는 시리즈를 마치려고 했습니다.그런데 생각해 보니 데일리 리포트를 생성하는 부분뿐만 아니라 위클리 리포트를 생성하는 부분에서도 네임드 락 호출이 필요했습니다. 함께 고도화를 하고 있는 팀원들이 네임드 락을 사용할 때 반납하는 코드를 깜빡한다면 서비스 장애가 일어날 수도 있습니다. 비즈니스 로직에서 동기화가 필요한 부분에 `try-finally`문으로 반납하는 부분이 반복돼서 사용될 것도 예상되죠. 그래서 이번 포스팅에서는 `AOP`를 활용해 비즈니스 로직에서 네임드 락 관련 관심사를 분리하는 과정을 담았습니다. 관심사 분리네임드 락의 사용 목적과 특성을 고려해야 한다네임드 락의 사용 목적네임드 락은 왜 사용할까요?핵심은 `동기화`입니다.저의 경우처럼 멀티 스레..
올려 올려 라디오 NCloud 활용 후기
·
Project
이번 포스팅은 비사이드 포텐데이 해커톤을 통해 처음 접하게 된 NCloud 활용 후기 글입니다.프로젝트 소개우리 팀의 프로젝트는 올려 올려 라디오(https://upup-radio.site/) 라는 이름의 서비스입니다. 올려올려 라디오언제 어디서나 DJ가 여러분에게 따뜻한 위로를 전해드립니다.upup-radio.site프로젝트 의도이 서비스는 위로받고 싶은 사람들이 라디오에 사연을 보내면, 귀여운 달토 DJ가 사연을 읽어주고, MBTI를 접목시켜 `F 성향(감정형)`의 사람과 `T 성향(이성형)`의 사람에게 위로가 되는 답변을 해줍니다. NCloud 서버 생성부터 클로바 API 활용까지핵심 기능은 클로바 스튜디오(https://www.ncloud.com/product/aiService/clovaStudi..
[포텐데이 409-1pick] 분석 서비스 개발 중 만난 데드락과 동시성 문제 해결기 (4)
·
Project
이전 포스팅: 2024.11.26 - [Project] - [포텐데이 409-1pick] 분석 서비스 개발 중 만난 데드락 해결기 (3) [포텐데이 409-1pick] 분석 서비스 개발 중 만난 데드락 해결기 (3)이번 포스팅에선 네임드 락을 이용해 데드락을 해결하는 과정을 담았습니다. 이전 포스팅이 궁금하시다면 아래 링크를 참고해 주세요!2024.11.25 - [Project] - [포텐데이 409-1pick] 분석 서비스 개발dev-gallery.tistory.com이전 포스팅에서 네임드 락을 이용해 데드락을 해결을 시도했습니다.하지만 문제가 있었는데요, 데드락을 해결했지만 `INSERT INTO ...` 쿼리가 2번 발생했다는 부분입니다.`INSERT` 쿼리가 2번 발생했다는 뜻은 이미 외부 API..
[포텐데이 409-1pick] 분석 서비스 개발 중 만난 데드락과 동시성 문제 해결기 (3)
·
Project
이번 포스팅에선 네임드 락을 이용해 데드락을 해결하는 과정을 담았습니다. 이전 포스팅이 궁금하시다면 아래 링크를 참고해 주세요!2024.11.25 - [Project] - [포텐데이 409-1pick] 분석 서비스 개발 중 만난 데드락 해결기 (1) [포텐데이 409-1pick] 분석 서비스 개발 중 만난 데드락 해결기 (1)이번 포스팅은 분석 서비스를 개발하다 만난 데드락을 해결하는 과정을 담았습니다.감정 분석 서비스 미리 보기기존 서비스에 이용자를 모으기 위해 고도화하는 프로젝트 중 하나가 `감정 분석dev-gallery.tistory.com2024.11.26 - [Project] - [포텐데이 409-1pick] 분석 서비스 개발 중 만난 데드락 해결기 (2) [포텐데이 409-1pick] 분석 서..
[포텐데이 409-1pick] 분석 서비스 개발 중 만난 데드락과 동시성 문제 해결기 (2)
·
Project
이번 포스팅에선 Testcontainers 내용이 잠깐 나옵니다.Testcontainers 환경을 구성하는 방법은 이전 포스팅을 참고해 주시면 됩니다.2024.09.16 - [Project] - [예약 대기 시스템] 4. 컨테이너 환경에서 테스트하기 (Testcontainers) [예약 대기 시스템] 4. 컨테이너 환경에서 테스트하기 (Testcontainers)이전 포스팅에서 애플리케이션을 컨테이너화 하기 위해 도커를 사용했습니다.(이전 포스팅 : 2024.09.13 - [Project] - [예약 대기 시스템] 3. 프로젝트 설정 (어드민 시스템)) [예약 대기 시스템] 3. 프dev-gallery.tistory.com데드락 원인 찾기데드락의 원인을 찾기 위해 MySQL을 확인해 볼 필요가 있습니다...