UNISYS.app
제품웹 서비스Allchat
WEB서비스 중

Allchat

올쳇 · 웹 서비스

앱에 실시간 채팅을 붙이는 CaaS. 테넌트 격리, 사용량 미터링, 플랜별 권한과 Stripe 결제, 웹훅·포렌식까지 운영 콘솔 하나로 관리한다.

웹 서비스 · 별도 설치 없이 브라우저에서 사용합니다.
Allchat 화면
개요

왜 만들었는가
채팅은 단순히 메시지를 주고받는 기능처럼 보이지만, 실제 구현에서는 메시지 순서 보장, 중복 전송 방지, 재접속 동기화, 대형 방 확장, 유휴 인프라 비용 같은 문제가 반복적으로 발생합니다.

AllChat은 이런 공통 문제를 채팅 인프라 계층에서 해결해, 제품 개발팀이 복잡한 실시간 시스템 대신 서비스 화면과 비즈니스 로직에 집중할 수 있도록 만들었습니다.

기존 로그인 시스템은 그대로 사용하며, AllChat은 별도의 채팅 토큰을 통해 연동됩니다.

프로젝트 설명
AllChat은 완성된 채팅 앱이 아니라, 서비스에 채팅 기능을 빠르게 추가할 수 있는 채팅 백엔드 플랫폼입니다.

고객사는 채팅 UI만 직접 구현하고, 채팅방 및 멤버 관리, 메시지 순서 보장, 중복 메시지 방지, WebSocket 연결 관리, 재접속 및 메시지 동기화, 대형 채팅방 자동 확장, 메시지 저장 및 아카이브 같은 복잡한 처리를 AllChat에 위임할 수 있습니다.

Cloudflare Durable Objects를 중심으로 방 단위 상태와 메시지 순서를 관리하며, 채팅방 규모에 따라 자연스럽게 확장되는 구조로 설계했습니다.

주요 기능

  • 메시지 순서 및 중복 방지
    방마다 메시지 seq를 부여해 순서를 보장하고, clientId 기반 멱등 처리로 네트워크 재전송 시에도 동일 메시지가 중복 저장되지 않습니다.

  • 자동 재접속 및 동기화
    연결이 끊긴 이후 마지막 seq를 기준으로 누락된 메시지만 다시 받아 대화를 복구할 수 있습니다.

  • 대형 채팅방 자동 샤딩
    채팅방 규모가 커지면 WebSocket 연결을 자동으로 여러 샤드에 분산합니다. 기존 클라이언트 코드를 변경하지 않고도 대규모 동시 접속을 처리할 수 있습니다.

  • 다양한 WebSocket 연결 방식
    하나의 연결로 여러 채팅방을 사용하는 Session 방식과 특정 채팅방에 직접 연결하는 Direct 방식을 모두 제공합니다.

  • 멀티테넌트 및 요금제 관리
    appId 단위로 데이터를 분리하고 메시지 수, MAU, 동시 접속자, 방 인원, 보존 기간 등의 플랜 제한을 서버에서 직접 관리합니다.

  • 운영 관리자 콘솔
    테넌트, 사용자, 채팅방, 메시지, 샤드, 아카이브, 감사 로그 등을 관리할 수 있는 별도의 운영 콘솔을 제공합니다.

기술 스택

  • Infrastructure
    Cloudflare Workers · Durable Objects · D1 · R2 · Queues · Cron Triggers · Hibernatable WebSocket

  • Backend
    TypeScript · Web Crypto · JWT · PBKDF2 · Stripe API · Vitest

  • Frontend
    React 19 · MUI 6 · Vite · React Router · i18next

  • SDK
    TypeScript · ESM · 자동 재연결 · 지수 백오프

  • Deployment
    Wrangler CLI · Cloudflare Pages

화면등록 이미지 · 3컷
Allchat
Allchat
배포 이력
    고객지원

    도입 문의와 기술 지원은 담당 팀으로 연락해 주세요.

    문의하기 →
    함께 사용하는 제품전체 제품 →