일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 우아한 테크러닝
- spring aop
- ObjectOptimisticLockingFailureException
- 낙관적 락 롤백
- spring DI
- multimodule testcontainers
- Invalid property 'principal.username' of bean class
- DI
- 형상관리
- java
- jpa
- netty
- 백준
- AccessToken
- OptimisticLock
- TestContainers
- 멀티모듈 테스트컨테이너
- kotest testcontainers
- ObjectOptimisticLockingFailureException 처리
- S3
- springsecurity
- 알고리즘
- interface
- Spring Cloud Gateway
- RefreshToken
- 낙관적 락 재시도
- @transactional
- redissonlock aop
- 소수찾기 java
- aop
- Today
- Total
목록TroubleShooting/Etc (2)
조급하면 모래성이 될뿐
결론 - 동시에 처리 가능한 스레드 풀 개수를 조절하여 리소스(CPU) 사용률을 관리하자 - 큰 파일 업로드 시 메인 메모리에 대한 걱정은 거의 없다. 임시 디스크에 대한 경로를 직접 설정해서 혹시 남아있는 경우가 있다면 직접 관리하자. - 네트워크 대역폭을 넓히거나 하드웨어성능을 높여보자. (가능하다면) 업로드 로직 application.yml spring.servlet.multipart.max-request-size: 3GB spring.servlet.multipart.max-filet-size: 3GB UploadService fun upload(multipartFile: MultipartFile) { val elapsedTime = measureTimeMillis { if (multipartFil..
1. 낙관적 락 방식을 통해 동시성 문제를 제어한다. 2. 버전 충돌로 인한 문제가 발생했을 때, 다시 로직을 시도한다. 낙관적 락(Optimistic Lock) 이란? - 코드 레벨에서 동시성 문제를 해결하는 방법이다. 간단하게 설명하면 버저닝을 통해서 문제를 해결한다. - 읽을 때 버전과, 변경할 때 버전이 다르면 예외가 발생한다. - DB 자체에 Lock을 걸게 되는 비관적 락(Pessimistic Lock) 방식보다 빠르다. - 그러나 Rollback 처리가 번거롭다. 스프링과 같이 트랜잭션 관리를 프레임워크가 처리한다면 비교적 신경 쓸 부분이 많이 줄어들지만, 그렇지 않은 경우에는 코드레벨에서 롤백에 대한 처리를 신경 써야 한다. 적용해 보기 - Jpa와 함께 낙관적 락을 사용해 보자 - 버저닝..