AiThao
기술 · AiThao

실시간 메시징

메시지는 보내는 순간 상대 휴대폰에 나타나야 하고, 도중에 절대 사라져서는 안 됩니다. 두 가지는 서로 다른 일이며, AiThao는 이 순서로 처리합니다. 먼저 저장하고, 그다음 전달합니다.

나에게 해 주는 일

  • 메시지와 반응이 상대방 휴대폰과 나의 다른 기기에 곧바로 나타납니다.
  • 오프라인이었던 휴대폰도 다시 연결되면 빠짐없이 따라잡습니다.

작동 방식

각 앱은 서버와 인증된 WebSocket 연결을 하나 열어 둡니다. 메시지를 보내면 서버는 먼저 데이터베이스에 기록한 뒤에야 이벤트를 발행합니다. 여러 서버 프로세스가 나란히 실행되며 공유 발행/구독 채널로 이벤트를 주고받으므로, 받는 사람의 연결을 가진 프로세스가 메시지를 전달합니다.

받는 사람이 오프라인이면 푸시 알림이 휴대폰을 깨우고, 앱은 다시 연결될 때 재생 로그에서 밀린 메시지를 받습니다. 종단간 암호화된 채팅에서는 이 모든 과정을 서버가 읽을 수 없는 암호화된 봉투가 지나갑니다.

사용하는 기술

WebSocket · Node.js · TypeScript · PostgreSQL · Redis

자주 묻는 질문

연결 없이 메시지를 보내면 어떻게 되나요?

연결이 돌아오면 앱이 보냅니다. 서버가 받으면 누구에게 알리기 전에 먼저 저장합니다.

서버는 암호화된 메시지를 얼마나 보관하나요?

받는 사람의 모든 휴대폰이 사본을 받을 때까지, 최대 30일입니다.

번역을 직접 확인해 보세요

앱이 출시되기 전에도 웹 데모로 AiThao를 체험할 수 있습니다. AiThao는 App Store 출시를 위해 Apple의 승인을 기다리고 있으며, 아직 설치 링크는 없습니다.

데모 열기