토이프로젝트 - 트랜잭션 관리를 통한 베타락(Exclusive Lock) 구현
·
backend
트랜잭션(transaction)의 관리격리성(Isolation) : 일련의 트랜잭션을 작업 중에는 다른 트랜잭션의 연산 작업이 끼어들지 못하게 격리시킨다.동시에 공유 리소스에 접근시 독립성을 유지하기 위해 대기한다.​​트랜잭션의 isolation level 상승@Transactional(isolation= isolation.SERIALIZABLE)트랜잭션 내에서 선택(select)된 리소스는 공유 잠금(write제한)된다. 성능적으로 동시처리 성능이 가장 나지만 단순하고 가장 엄격한 관리 수준​SERIALIZABLE 만 해둔다면 쓰기 작업은 안되겠지만 읽기 작업이 동시에 가능하기에 비즈니스 로직에서는 잘 고려해야한다.​​트랜잭션 격리 수준의 종류repatable-Read(default) : 조회하는 데이..
토이프로젝트 - 메시지 송수신간의 Kafka 트랜잭션 처리 범위 실험
·
kafka
복잡한 비즈니스 로직을 수행하고 많은 이벤트를 발행하는 서비스에서 허울좋게도 항상 트랜잭션이 성공한 후에 이벤트가 발행되진 않는다.​Spring에서 제공하는 transaction의 begin()과 end()의 범위와 kafka 트랜잭션의 범위를 관리해야한다.​​Spring Kafka에서 트랜잭션 처리중요한건, 트랜잭션의 관리이다. 별표 25개​​  프로젝트 githubhttps://github.com/downfa11/kafka-querydsl GitHub - downfa11/kafka-concurrency: kafka 트랜잭션 관리와 Redisson 분산 락 처리kafka 트랜잭션 관리와 Redisson 분산 락 처리. Contribute to downfa11/kafka-concurrency develo..