일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- response
- network
- 스프링
- SQL
- Redis
- mybatis
- request
- aop
- 트랜잭션
- git
- spring boot
- 디자인패턴
- 스프링부트
- http
- MYSQL
- Spring
- OOP
- Filter
- 객체지향프로그래밍
- Interceptor
- RestControllerAdvice
- aspect
- 스프링 시큐리티
- 인터셉터
- 자바
- 관점지향프로그래밍
- exception
- java
- Spring Security
- proxy pattern
- Today
- Total
목록Redis (2)
장쫄깃 기술블로그
분산락(Distributed Lock)의 필요성분산락(Distributed Lock)은 분산 시스템에서 여러 노드 또는 프로세스가 동시에 공유 자원에 접근하려 할 때, 충돌을 방지하고 자원의 일관성을 유지하기 위해 사용하는 기술이다. 이를 통해 여러 컴퓨터 또는 서버가 동시에 동일한 자원에 접근할 때 발생할 수 있는 문제를 해결할 수 있다. Redis는 기본적으로 싱글 스레드로 동작하므로, 단일 Redis 노드를 사용해도 동시성 문제는 발생하지 않는다. 따라서 리소스에 값을 설정하여, 값이 설정된 경우에는 다른 클라이언트의 접근을 차단할 수 있다. 필자는 분산 환경에서 선착순 신청 기능을 개발하면서, 처음에는 DB에 직접 락을 거는 비관적 락을 사용했다. 그러나 Deadlock이 자주 발생하자, 분산락으..
멱등성(Idempotent)이란?첫 번째 수행을 한 뒤 여러 차례 적용해도 결과를 변경시키지 않는 작업 또는 기능의 속성 멱등한 작업이란, 한 번 수행하든 여러 번 수행하든 결과가 동일한 작업을 의미한다. 멱등성이 보장되면 메소드가 여러 번 실행되어도 결과가 동일하기 때문에 안전하게 사용할 수 있다. 반면, 멱등성이 보장되지 않으면 동일한 요청을 중복해서 실행할 위험이 있다. 예를 들어, 동일한 등록 요청을 중복해서 실행한다면 중복되는 여러 개의 데이터가 생성될 수 있다. HTTP 메소드의 멱등성HTTP 메소드에도 멱등성이 있다. 메소드멱등성GETOPOSTXPUTOPATCHXDELEETEOHEADOOPTIONSOTRACEOCONNECTX GET, PUT은 리소스를 조회하거나 대체하는 메소드이기 때문에..