트러블슈팅

Java

[JAVA] 회원 시스템 분산 트랜잭션(JTA) 처리와 성능 이슈 해결

분산 트랜잭션(JTA)기반의 회원 시스템 개발오랫동안 농익은 레거시 시스템은 현재 시점에서 뜯어볼수록 의문이 많은 설계와 코드들이 참 많습니다.제가 속한 서비스의 회원 시스템도 마찬가지였습니다. 서비스를 이용하는 회원의 정보가 서로 다른 3개의 DB에 나뉘어 관리되고 있었습니다. 한명의 회원 정보가 여러 DB에 나뉘어 저장되는 것도 아니고, 유입된 채널에 따라 저장되는 DB가 물리적으로 분리되어 있었습니다.즉 온라인에서 가입한 고객은 오프라인에서 확인할 수 없고, 오프라인에서 가입한 고객은 온라인 서비스에서 접근할 수 없는 구조였습니다.이는 당연히 마케팅 측면이나 서비스의 확장성 측면에서 많은 어려움을 만들고 있었고, 이를 통합하기 위한 자칭 '통합회원 프로젝트'를 진행하게 되었습니다. 분리되어 있는 D..

Spring

[Spring] Junit 테스트시 Atomikos 커넥션풀의 Connection Name 중복 오류

문제 발생‘어느날 갑자기’ Jenkins 배포중 빌드가 실패, Jenkins 실패 원인을 보니 테스트가 깨지고 있었음현상 재현을 위해 로컬에서 테스트를 돌렸으나 모든 테스트는 PassJenkins의 간헐적 이슈 인가 싶어 다시 Jenkins 빌드를 진행하니 성공후 정상 배포되었음(이때까지만 해도 Jenkins의 버그로 인한 단순 해프닝으로 생각)2주뒤 다시 정기배포일자가 다가왔고, 배포를 진행했으나 이전과 동일하게 다시 Jenkins 빌드가 실패함로컬에서도 마찬가지로 테스트가 깨지고 있었고 로그에서는 아래와 같이 Atomikos 에러가 출력 수 차례 재시도 하니 정상적으로 배포됨...나를 더욱 헷갈리게 하는 상황들Jenkins 배포시에도 매번 실패하는 것이 아닌 여러번 시도하면 그 중 한번은 성공함로컬에..

turtleDev
'트러블슈팅' 태그의 글 목록