개요 GitHub - sjiwon/study-with-me-be: 여기서 구해볼래? Backend Repository (Refactoring) 여기서 구해볼래? Backend Repository (Refactoring). Contribute to sjiwon/study-with-me-be development by creating an account on GitHub. github.com 본 프로젝트 - Study With Me의 메인 페이지에서 가장 많이 조회가 될 거라고 예상되는 스터디 조회에 대한 부하 테스트를 진행하고 여러가지 튜닝을 해보려고 한다 스터디 조회에는 총 3가지 조건이 존재한다 등록날짜 좋아요 개수 리뷰 개수 개선에 앞서 트래픽? 트래픽이 많다? 대규모 트래픽이다?의 정의가 뭘까? 1..
개요 GitHub - sjiwon/Advanced-Another-Art: AI 기반 작품 경매 플랫폼 (Refactoring) AI 기반 작품 경매 플랫폼 (Refactoring). Contribute to sjiwon/Advanced-Another-Art development by creating an account on GitHub. github.com 현재 리팩토링중인 AI 기반 작품 경매 플랫폼 프로젝트: Another Art에서는 다음 2가지 주요 기능이 존재한다 경매 작품 입찰 작품 구매 경매 작품 입찰 & 일반 작품 구매에서는 멀티 쓰레드 환경에서 동시성 문제가 발생할 수 있고 이를 반드시 제어해야 한다 입찰 프로세스 @UseCase @RequiredArgsConstructor public ..
동시성 처리 웹 서비스를 개발하다보면 수많은 종류의 동시성 문제를 경험해볼 수 있다 주문 도메인 상품 재고 동시성 처리 선착순 쿠폰 동시성 처리 … 동시성 문제는 공유 자원을 동시에 접근하는 과정에서 Critical Section에서 발생하는 Race Condition으로 인한 문제를 의미한다 본 포스팅에서는 JVM 환경에서 제공하는 synchronized 키워드를 사용하여 동시성을 제어하고 한계에 대해 설명할 예정이다 Process? Thread? synchronized 키워드에 대해 알아보기전에 먼저 Process와 Thread의 개념부터 알아보자 idea64.exe는 디스크에 저장된 실행 가능한 코드와 관련 데이터 파일로 구성된 프로그램이다 이 idea64.exe를 더블클릭하게 되면 디스크에 존재하..