2024/08 2

DB 낙관적 락

이전에 카프카 동시성 이슈에 대해 작성하였습니다.글을 작성하면서 찾았던 낙관적 락, 비관적 락, 분산락에 대해 설명하고, 기록하도록 하겠습니다.동시성 테스트아래 코드는 동시성 테스트를 위한 코드입니다.큰 특징은newFixedThreadPool해당하는 함수로 Java의 쓰레드를 생성하는 함수로써, 10개 스레드를 생성하였습니다.CountDownLatchnew CountDownLatch(THREAD_COUNT) : 스레드 작업 카운트를 적시하여, 차후에 함수에 사용 합니다.latch.await(10, TimeUnit.SECONDS) : 위에 적시한 스레드 카운트가 0 이 될 때까지 기다리고 이후에 작업을진행 합니다.package com.webtoonrank.demo.core.domain.product.ser..

Spring 2024.08.12

상반기 회고 및 Spring신규 프로젝트 패키지 구조

신규 프로젝트  작년 겨울에 부정 거래 어드민 사이트를 담당하게 되었습니다. 선물하기, 톡스토어 등 다양한 유저의 패턴을 분석한뒤 룰을 정의하고, 정의한 룰을 기반으로 적발된 데이터를 적재, 검수하는 웹사이트입니다.신규 프로젝트라서 프로젝트 패키지 구조, DB, 프레임워크, 라이브러리 등 사용한 것에 대한 대략 적인 내용을 정리하도록 하겠습니다.패키지 구조패키지 구조는 기본적으로  L cache  L web  L core  L storage로 구성하였습니다.처음에는  L domain  L controller  L service  L repostiory로 생각하였는데, 이렇게 되면 도메인을 분리하기도 어려워지고, 웹에 종속적인 프로젝트로 되서, API 호출할때도 패키지를 새로 구성해야 돼서 유연하지 못하다..

Spring 2024.08.10