DB와 SSE로 채팅 편집 락 구현하기

·
카테고리 없음
내가 개발하고 있는 플랫폼에서는 채팅방마다 재무모델/PPT생성 등을 함께 편집할 수 있다. 여러 명이 동시에 수정하면 내용이 덮어써지므로, 채팅방 하나에는 편집 권한을 가진 사용자가 한 명만 있어야 한다.문제는 "지금 누가 갖고 있는가"만으로는 부족하다는 점이다. 탭을 닫거나 네트워크가 끊기거나 브라우저가 강제 종료되면 보유자는 사라지지만 락은 그대로 남는다. 편집 락 설계는 결국 "그 사람이 아직 살아있는가"를 어떻게 판정하느냐의 문제다.이 프로젝트는 Redis 없이 단일 PostgreSQL DB 안에서 상태를 공유해야 하는 제약이 있었다.설계: DB를 유일한 상태 출처로 두고 SSE로 전파구성요소역할소실 시 영향DB유일한 상태 출처. 획득·보유 확인·해제 모두 여기서 이루어진다.전체 장애SSE3분마다..