spring boot

스프링

[Spring] 좋아요 동시성 이슈 비관적 락부터 캐싱 & 비동기 처리까지

들어가기에 앞서해당 글은 좋아요 기능의 동시성 문제를 비관적 락에서 부터 캐싱, 비동기를 추가해 해결한 과정을 담고 있다.직접 성능 테스를 통해 어떤 병목지점 때문에 성능 저하가 생기는지 확인하였으며,기존 비관적락 -> 캐싱 + 비동기로 약 200배 성능개선 효과를 확인하였고 검증 했다.문제에 들어가기 전 설명어떤 문제가 있었는지 설명하기 전에 연관관계를 봐보자위와 같이 좋아요를 누르면 좋아요 테이블에 [글 ID, 회원 ID]가 FK이자 복합키로 들어가게 된다.테스트는 1번글에 회원 1,000명이 좋아요를 동시다발적으로 누른다고 가정했다. 상식적으로는 당연히 1번 글의 좋아요 개수가 1,000개가 되고 좋아요 테이블도 1,000개의 칼럼이 생성될 것이다.문제 상황참고로 해당 표의 단계는 위의 코드와 동일..

스프링

[Spring] Spring이란 무엇인가?

오늘부터 스프링 공부를 하면서 만난 문제점들과, 앞으로 공부하는 내용을 공유하고자 합니다. 시작하기에 앞서 내가 뭘 공부하는지는 알아야 하기 때문에 스프링이 무엇인지 부터 알아봅시다 탄생 배경 엔터프라이즈급 시스템이 실패하는 이유 "복잡성을" 보고 해결하기 위해 나온 프레임워크입니다. Spring이 등장하기 전 EJB(Enterpirse JavaBeans)을 사용했는데 하나의 기능을 구현하기 위해 상속, 인터페이스 구현 등 의존도가 너무 커짐에 따라 로드 존슨의 예제코드등을 통해 만든 프레임워크이다. 2002년 로드 존슨이 EJB의 문제점을 지적하면서 고품질의 확장 가능한 애플리케이션을 개발할 수 있음을 보여주고, 30,000 라인 이상의 기반 기술 예제 코드를 선보이면서 시작되었다 이후 유겐 휠러와 얀..

Sleeg
'spring boot' 태그의 글 목록