Updated:

less than 1 minute read

golongpoll

  • GitHub
  • subscription
    • 클라이언트가 특정 이벤트를 받기 위해 요청
    • 요청
      • 메소드
        • GET
      • 요청 파라미터
        • ?category=category-1&timeout=30&last_id=7abd44f6-8f7b-4c9d-a40f-2e5228b0e971&since_time=1687757429554
        • category, timeout은 필수
        • timeout은 1부터 서버 최대 타임아웃까지 설정 가능
        • since_time 설정 시 해당 시간 이후 이벤트들을 응답
        • last_id는 since_time를 포함해야하며 설정 시 해당 값 이후 이벤트들을 응답
    • 응답
      • 서버는 해당 category 값의 이벤트가 게시될 경우 응답
      • {"events":[{"timestamp":1687851809532,"category":"category-1","data":{"field_1":"value_1"},"id":"f850c136-b0a2-4368-8520-3265650ade64"}]}
  • publish
    • 서버에 이벤트 게시
    • 서버 내부에서 함수 호출 혹은 post api를 이용
    • 게시된 이벤트는 해당 카테고리를 구독하고 있는 클라이언트들에게 전달
    • 요청
      • 메소드
        • POST
      • 요청 바디
        • {"category":"category-1", "data":{"field_1": "value_1"}}
  • 서버에서 파일을 이용한 이벤트 백업 지원
    • 버퍼/시간마다 파일에 발생한 이벤트를 저장
    • 서버 재기동 시 읽어서 처리
    • 서버가 재기동되고 클라이언트가 과거 데이터를 요청하는 경우 등에 대한 대응 가능
  • 최대 타임아웃, 이벤트 버퍼 사이즈, 이벤트 유효 시간, 이벤트를 응답하고 바로 삭제 옵션 제공
  • 예제