기록 목록공지사항
queue 와 websocket 이벤트 흐름을 하나의 운영 상태로 계속 정리 중입니다
humanpchumanpc ·
05-2432
최근에는 runtime-safe / restricted runtime 대응과 함께,
queue 와 websocket 흐름 자체를 하나의 운영 상태로 계속 정리하는 방향으로 구조를 다듬고 있습니다.
초기에는:
- queue worker 실행
- websocket broadcast
- UI 갱신
정도를 각각 별개 기능처럼 다뤘지만,
실제 운영에서는:
queue retry
→ delayed event
→ websocket reconnect
→ stale UI
→ duplicate broadcast
→ 상태 불일치
같은 흐름이 서로 계속 연결된다는 점을 더 중요하게 보고 있습니다.
특히 WAN 기반 websocket 환경에서는:
- reconnect timing
- retry ordering
- delayed event
- duplicated state
- stale payload
같은 runtime condition이 생각보다 자주 발생할 수 있었습니다.
현재는 단순히:
"이벤트가 전송되었는가"
보다,
"운영 상태가 최종적으로 일관되게 유지되는가"
를 더 중요하게 보는 방향으로 계속 조정 중입니다.
최근에는 특히 다음 흐름을 계속 점검하고 있습니다.
1. queue retry 와 websocket 순서 불일치
일부 상황에서는:
retry queue
→ 늦게 도착한 websocket event
→ 이전 상태 overwrite
형태가 발생할 수 있었습니다.
현재는:
- stale event 무시
- timestamp 기준 정렬
- duplicated event guard
같은 방향을 계속 검토 중입니다.
2. reconnect 이후 stale state 문제
특히 websocket reconnect 이후:
- 이전 payload 재반영
- 이미 처리된 상태 재렌더
- UI 상태 되돌아감
같은 흐름이 일부 확인되었습니다.
현재는:
- last event tracking
- runtime state 비교
- reconnect 이후 state resync
방향으로 구조를 다시 정리 중입니다.
3. graceful degradation 유지
현재는 websocket 이벤트 일부가 실패하더라도:
- 관리자 화면 유지
- 활동 스트림 유지
- archive 흐름 유지
- API response 유지
를 우선적으로 보는 방향으로 운영 중입니다.
특히 최근에는:
event failure
≠ service failure
형태를 계속 중요하게 보고 있습니다.
4. queue / websocket / archive 흐름 연결
현재는 단순 실시간 이벤트보다:
- 운영 기록
- 활동 스트림
- archive lifecycle
- 상태 변경 기록
까지 이어지는 흐름을 더 중요하게 보고 있습니다.
즉:
queue
→ websocket
→ UI state
→ archive state
→ 운영 기록
이 하나의 운영 흐름처럼 이어지도록 계속 구조를 정리 중입니다.
아직 초기 운영 단계이긴 하지만,
최근에는 단순 realtime 기능보다:
"운영 상태 흐름의 일관성"
자체를 더 중요한 기준으로 계속 다듬고 있습니다.
댓글과 작업 영역을 나중에 불러옵니다
필요할 때 댓글과 작업 영역을 불러옵니다. 댓글 0개
