Discourse Chat 플러그인의 대체 사용 사례를 검토하고 있으며, 특히 데이터 보존 정책과 대규모 API 사용과 관련된 성능 한계에 대해 몇 가지 질문이 있습니다.
배경 설명을 드리자면, 우리는 스레드형 댓글 시스템을 찾고 있습니다. Chat 플러그인의 “스레드형 답변” 기능은 표준적인 주제/게시물 구조보다 우리의 요구사항에 훨씬 가까운 사용자 경험을 제공합니다. 이 때문에 우리는 채팅 채널을 영구적인 댓글 스레드로 사용하는 것을 고려하고 있습니다.
이러한 사용 사례로 인해 채팅 히스토리를 무기한으로 유지해야 합니다. 이는 우리의 주요 우려 사항인 대규모 환경에서의 성능 문제로 이어집니다.
예상되는 사용량은 다음과 같습니다:
총 메시지 수: 100만 건에서 1,000만 건 사이.
채널 수: 약 150개에서 200개.
주요 질문은 다음과 같습니다:
채팅 보존 정책을 완전히 비활성화하거나, 언급된 메시지 수를 지원하도록 증가시킬 수 있는가? 예를 들어, 보존 기간을 0 또는 매우 큰 숫자로 설정하는 방식입니다.
API 성능에 어떤 영향을 미칠 것인가? 외부 시스템과 통합하기 위해 Chat 플러그인의 API를 적극적으로 사용할 계획입니다. 주요 접근 패턴은 메인 채널과 스레드 모두에서 메시지를 **시간순(최신부터 오래된 순서로)**으로 가져오는 것입니다. 이러한 빈번한 API 폴링이 거대한 히스토리를 가진 채널에서 상당한 서버 부하를 유발할까요?
수백만 건의 채팅 메시지를 영구적으로 저장할 때 서버와 데이터베이스에 미칠 일반적인 성능 영향은 무엇인가? 구체적으로 다음과 같은 요소에 어떤 영향을 미칠까요:
서버 CPU 및 RAM 사용량?
사이트 전반의 반응 속도?
이러한 부하 하에서 시스템 성능이 현저히 저하되기 시작하는 알려진 "계기점"이나 소프트 제한이 있는가?
이것이 채팅 플러그인의 비전통적인 사용 방식이며, 보존 정책을 비활성화하는 것이 모범 사례가 아니라는 점을 이해하고 있습니다. 우리의 목표는 이 접근 방식을 채택하기 전에 UI와 API 모두에서 시스템의 구조적 한계를 파악하는 것입니다.
네, 가능합니다. chat channel retention days를 "0"으로 설정하면 메시지를 영구적으로 보존할 수 있습니다 — 하지만 여러분이 진행 중인 작업의 규모를 고려할 때, 성능 영향에 대해 의문을 제기하는 것은 당연합니다. 또한 현재 채팅 메시지 검색은 지원하지 않습니다(고려 중이지만 현재 계획에는 없습니다). 이는 메시지를 영구적으로 보존하더라도, 여러분의 높은 프로젝트 사용량을 고려할 때 특정 메시지를 찾는 것이 실현 가능하지 않을 수 있음을 의미합니다.
이 질문에 대한 답변에 대해서는 확신이 서지 않습니다. 채팅 관련 작업을 가장 많이 수행한 엔지니어들에게 확인해 보겠습니다.
또한 여러분의 사용 사례에 대해 더 알고 싶습니다 — 진행 중인 작업에 대해 좀 더 자세히 공유해 주실 수 있으신가요?