Go로 구현한 자체 호스팅 인스턴트 메시징 서버로, Android·iOS·웹 클라이언트와 JSON/WebSocket 및 gRPC API를 제공합니다.
SAMA-Communications/sama-server
uWebSockets.js 기반의 채팅 서버로, Node.js 백엔드와 MongoDB, Redis를 사용해 XMPP의 대안을 제공합니다.
- 스타
- 161
- 포크
- 16
- 열린 이슈
- 3
- 마지막 커밋
- 지난달
어떤 프로젝트인가요?
SAMA는 오랜 기간 인스턴트 메시징 표준으로 자리 잡은 XMPP의 대안으로 설계된 채팅 서버이자 메시징 프로토콜입니다. 서버는 Node.js에서 JavaScript로 작성되었으며 WebSocket 처리를 위해 uWebSockets.js를 사용합니다. 데이터는 MongoDB에 저장하고 클러스터 상태 관리에는 Redis를 사용합니다.
서버는 사용자, 대화, 메시지, 활동, 주소록, 푸시 알림을 위한 API를 제공합니다. 공식 웹 클라이언트와 Flutter 클라이언트는 별도의 저장소에서 제공되며, 전체 스택을 테스트할 수 있도록 호스팅 데모도 마련되어 있습니다.
클러스터의 노드들은 Redis 레코드를 통해 서로를 검색하고, 노드 간에 WebSocket 연결을 열며, 종료된 노드가 남긴 데이터를 정리합니다.
핵심 기능
- 01uWebSockets.js와 Node.js 기반 채팅 서버
- 02저장소로 MongoDB를, 클러스터 조정에 Redis를 사용
- 03사용자, 대화, 메시지, 푸시 알림 API 제공
- 04자동 노드 검색 및 재연결을 지원하는 멀티 노드 클러스터링
- 05주소록 API와 활동 API 포함
활용 사례
- XMPP의 대안으로 자체 호스팅 채팅 백엔드 구축
- 여러 Node.js 노드로 확장되는 메시징 서비스 운영
- 기존 웹 또는 Flutter 클라이언트를 활용해 채팅 제품 프로토타입 제작
사용 전 알아둘 점
- 백엔드 종속성으로 MongoDB와 Redis가 필요합니다.
- 카피레프트 라이선스인 GPL-3.0이 적용되며, 파생물에 대한 의무가 따릅니다.
- README에는 설정 단계가 없으며, 로컬 개발 및 배포를 위한 외부 문서를 안내합니다.
토픽
자주 묻는 질문
- sama-server은(는) 무엇인가요?
- uWebSockets.js 기반의 채팅 서버로, Node.js 백엔드와 MongoDB, Redis를 사용해 XMPP의 대안을 제공합니다. SAMA는 오랜 기간 인스턴트 메시징 표준으로 자리 잡은 XMPP의 대안으로 설계된 채팅 서버이자 메시징 프로토콜입니다. 서버는 Node.js에서 JavaScript로 작성되었으며 WebSocket 처리를 위해 uWebSockets.js를 사용합니다. 데이터는 MongoDB에 저장하고 클러스터 상태 관리에는 Redis를 사용합니다.
- sama-server은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- sama-server은(는) GPL-3.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- sama-server은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. sama-server의 마지막 커밋은 2026년 10월 5일입니다.
- sama-server은(는) 어디에 사용할 수 있나요?
- XMPP의 대안으로 자체 호스팅 채팅 백엔드 구축 여러 Node.js 노드로 확장되는 메시징 서비스 운영 기존 웹 또는 Flutter 클라이언트를 활용해 채팅 제품 프로토타입 제작
- sama-server은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/SAMA-Communications/sama-server
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Stoat 채팅 플랫폼을 구동하는 Rust 백엔드 서비스와 라이브러리로, REST API, WebSocket 이벤트 서버, 파일 서버를 포함합니다.
XMPP 채팅, MQTT 메시징, SIP 음성·영상 시그널링을 지원하는 오픈 소스 Erlang 기반 실시간 서버입니다.
대규모 엔터프라이즈 배포를 위해 설계된, Erlang으로 작성한 확장성과 내결함성을 갖춘 XMPP 인스턴트 메시징 서버입니다.
TCP, BOSH, WebSockets를 통한 클라이언트 연결을 지원하는 모듈형·구성 가능한 Java 기반 XMPP/Jabber 채팅 서버입니다.
Ethora용 SDK 모노레포로, React, React Native, Android, iOS, WordPress SDK와 AI 봇 및 MCP 도구를 제공하는 채팅·메시징 플랫폼입니다.