back-end-study / system-design-interview

:octocat: 가상 면접 사례로 배우는 대규모 시스템 설계 기초 스터디
3 stars 0 forks source link

4장: 루아스크립트는 어떻게 경쟁조건을 막아줄까? #7

Open sawooook opened 1 year ago

sawooook commented 1 year ago

어떤원리로 막아주는걸끼?

sawooook commented 1 year ago

Redis의 경우 싱글스레드로 동작합니다. 여러서버에서 Lua Script를 동시에 실행 시키는 경우 레디스는 순차적으로 아토믹 연산을 실행 시키기 때문에, 가장 먼저 도착한 스크립트 부터 실행되게 됩니다. 그래서 경쟁조건을 막아 줄 수 있습니다.

추가로 루아 스크립트를 실행시킬는 동안 redis는 싱글스레드기에 다른 일을 처리 할 수 없습니다. 그래서 최대한 스크립트는 짧게 가져가는것이 좋습니다.

아래 링크는 관련해서 읽어보면 좋을것같은 링크입니다!