WebSocket 새로고침 Race Condition 해결 - 버퍼 Catch-up 순서 보장
채팅 스트리밍 중 새로고침 시 발생하는 Race Condition을 StreamingBlocked 플래그와 버퍼 Catch-up으로 해결한 경험
채팅 스트리밍 중 새로고침 시 발생하는 Race Condition을 StreamingBlocked 플래그와 버퍼 Catch-up으로 해결한 경험
Revoke, Connect/Disconnect, Cascade 작업에 MongoDB 트랜잭션을 적용하고, 정기적 동기화 배치 작업으로 데이터 불일치를 자동 복구하는 설계
Agent, Session, File, User 삭제 시 다른 컬렉션의 file_ids 배열과 Share Chain에서 참조를 완전히 제거하여 데이터 무결성을 보장하는 설계
LRange + LTrim 비원자적 연산으로 인한 Race Condition을 RPop 원자적 연산으로 해결하고, Dead Letter Queue를 완전히 제거하여 시스템 안정성을 확보한 경험
Agent 생성 시 트랜잭션 내부에서 자식 트랜잭션이 부모의 미커밋 데이터를 조회하면서 발생한 Write Conflict를 해결하고, 트랜잭션 외부에서 의존성을 연결하는 패턴으로 개선한 경험
다중 경로 권한 부여 시 권한 손실 문제를 해결하기 위해 Shares 컬렉션을 Single Source of Truth로 설계하고, Permission을 캐시로 사용하는 권한 시스템 아키텍처
Kafka 기반 문서 처리 파이프라인에서 일시적 장애 시 자동 재시도하고, 최종 실패 시에만 사용자에게 알림을 전송하는 메커니즘 구현 경험
SSE 스트리밍 시 분산 락 TTL을 1시간에서 30초로 단축하고, 자동 갱신 메커니즘을 추가하여 클라이언트 새로고침 시 빠른 복구를 가능하게 한 경험
User → Agent → Session 계층 구조에서 설정 변경을 실시간으로 전파하고, 무한 루프를 방지하면서 데이터 일관성을 보장하는 동기화 메커니즘 구현 경험
파일 삭제 시 Milvus Vector DB의 청크와 임베딩을 함께 정리하여 AI 답변 오염을 방지하고, 재시도 메커니즘으로 데이터 정합성을 보장하는 구현 경험