본문 바로가기

Lock

(2)
동시성 이슈 해결하기(feat. spring(java), MySQL, Redis(Redisson)) Single ThreadMulti-ThreadingTomcat - Spring framework분산 시스템(Distributed Systems)단일 DB에서의 처리NoSQL에서의 처리 - Redis(Redisson library) 이번 글에서는 좀 더 실용적으로 접근해볼 예정입니다. 그래서 실제 서비스 운영 환경에서 동시성 이슈를 어떻게 해결해야 할지에 대해 직접 코드를 작성하며 살펴보고자 합니다.앞으로 설명할 내용들은 이전 글들(동시성 처리 - intro와 동시성 처리 - Lock Algorithms(락 알고리즘))의 내용에 기반하고 있기 때문에 먼저 읽고 오시면 아래 내용을 더 잘 이해하실 수 있을겁니다!concurrency, blocking, non-blocking, sync, async, lock..
[Java] 동시성 처리 - intro 동시성이 필요한 이유 동시성 이슈 동시성 이슈를 해결하는 방법 자바에서의 동시성 이슈 해결 마치며 한동안 동시성은 제가 고려해야 할 사항이라고 생각하지 않았습니다. 우선은 동시성 처리라는 개념이 너무 어려웠고, 기능을 '구현'하는 데 있어서 동시성 처리가 필요할 정도의 성능을 요구하는 로직을 작성할 필요와 경험이 없었기 때문이기도 합니다. 한가지 변명을 하자면 동시성 처리 성능을 개선하기에 앞서 정확히 '동작'하는 기능을 구현하는 것이 더 중요하다고 생각하기도 했고, Clean Code 스터디를 하면서 동시성이 항상 성능을 높여주지는 않는다는 미신과 오해를 그 근거로 들기도 했습니다. 동시성에 대해 정확히 이해하지 못하고 사용할 바에야 동시성의 이점을 포기하고 정확하게 동작하는 기능 구현을 선택하겠다는 ..