Skip to content

2주차 수요일 실시간 기술 회의

서완석 edited this page Nov 29, 2024 · 1 revision

회의 장소 및 일시

일시 November 6, 2024 10:18 AM
장소 slack 허들

미리 읽기

  • 오전에 멘토링 일지 마무리
  • 공통 마스터 클래스 있다
  • 실시간 관련 기술 공유

내용

실시간 관련 기술 공유/1차 확정

기본적으로 Polling, SSE, WebSocket 이 있었다.

추가적으로, Web Transport API 도 있다. 소켓 기반

http3 + udp → 주로 영상 스티리밍에 사용한다.

WebRTC 도 사용할 수 있다. → 실시간 통신 기능 용이니까~

기본적으로 클라이언트-클라이언트를 위한 것이다.

희철/정한 → WebSocket 을 사용하는 방법을 선택했고, 이를 제안한다.

정한

  • short/long polling 은 매 요청마다 3-way handshake 가 일어나서 너무 오버헤드가 크다.
  • SSE → 결국 수정 사항에 대해서는 추가적인 요청을 해야 한다.
    • 클라이언트-서버의 오버헤드가 커질 것 같다.
  • Web Transport API 는 WebSocket 을 쓰는 것 같아서
    • WebSocket 을 사용해보는 것이 좋을 것 같다.

희철

  • 결국 기반 기술은 polling, sse, ws
  • 서비스에서 고려해야 할 점은
    • 양방향 통신 (필수)
      • 그래서 polling 과 sse 는 탈락.
    • 지연 시간도 낮아야 한다.
    • Web Transport API 도 결국 Socket 기반
      • 추가적인 사용 필요가 느껴지지 않음

완석

  • 처음에는 어느정도의 실시간 성만 보장하려고 하니 webSocket의 필요성을 못느낌
  • 하지만 실시간성에 집중을 하다 보니 WebSocket 의 필요성이 생겼다.

주엽

  • 처음에는 SSE 도 오케이지 않나?
  • 마찬가지로 실시간 성을 노션처럼 보장해보려 하니까 WS!

실시간 편집에 필요한 알고리즘

CRDT 는 클라이언트 간에 변경 사항을 추적/관리하기 위함.

OT 는 중앙 집중적으로 처리해 그 내용을 전파

CRDT vs OT

Socket 도 명세가 필요하다.


액션 아이템

  • CI/CD 각자 학습해오기

FE

  • 보드 뷰 퍼블리싱
  • 소켓 연결 기능 작성
  • 상태 관리 설계

BE

  • 소켓 명세 초안 작성
Clone this wiki locally