728x90
반응형

NoSQL 2

동시 차감 시 Redis Lua Script 활용하기

이전에 업무하다가 동시성 이슈를 처리하기 위해 redis를 사용했었다. 아래 기능 구현이 실제 업무하는 환경과 비슷한 조건이다.우리는 상금을 얻기 위해 게임 참여를 진행한다.유저는 게임에 1회 참여할때마다 공동 상금에 1원씩 적립한다.1등이 당첨되었을 때 1등은 현재까지 적립된 상금을 모두 가져간다.위 2가지를 만족하는 기능 개발을 진행해야 한다. 일단 1등이라는 확률 자체가 희박하기 때문에 아래 기능으로 동작하게 만들어도 문제가 없을 것 같았다.실제로 아직까지 문제가 발생했다는것은 아니다.-> 근데 발생할 수 있기 때문에 로직도 수정해야 하는것이 맞다.포인트 보정 산출식 추가하기시나리오를 하나 생각해보면유저 A, B 가 있다.현재 상금은 98원까지 적립되어있다. 유저 A가 응모한다.상금은 99원이된다...

NoSQL 2025.05.08

Redis Cache 성능 저하 이슈 수정

이번주 월요일에 슬랙에 지속적으로 같은 로그가 되게 많이 떴었다.사실 redis를 다른 팀에서도 사용을 하고 있기에 좀 더 주의깊게 확인해봐야 했지만 전체가 태그되는 바람에 잘 모니터링 하지는 못했던 것 같다.이게 갑자기 alert log가 뜨게 되니까 되게 이상했다. 그리고 latency가 그래프 상으로 기하급수적으로 증가한게 보일 것이다.이 로그가 문제는 내가 배포했던 시간부터 쭉 나왔다는 것이다.신규 기능을 해당 시간에 오픈을 진행했었고, 그 이후로 로그가 지속적으로 찍혔었다. 😭😭😭퇴근길에 놓치고 있었던 스레드에 같은 팀의 백엔드 개발자분이 먼저 남겨주셨다.말씀주신 기능보다는 다른 기능에서 문제가 있긴 했다. 저쪽은 캐시도 사용하지 않으며 문제될것이 전혀 없던 곳이었다.아래 제보된 것부터는 ..

NoSQL 2025.03.26
728x90
반응형