개발자가 자체 앱에 연동하는 Go 기반 오픈소스 인스턴트 메시징 서버로, SDK, REST API, 웹훅을 제공합니다.
LockGit/gochat
순수 Go로 작성된 경량 실시간 메시징 백엔드로, WebSocket과 TCP를 통해 1:1 메시지와 채팅방 브로드캐스트를 지원합니다.
- 스타
- 2,937
- 포크
- 475
- 열린 이슈
- 30
- 마지막 커밋
- 2개월 전
어떤 프로젝트인가요?
gochat은 순수 Go로 구현된 실시간 메시징 시스템입니다. 1:1 비공개 메시지와 채팅방 내 브로드캐스트 메시지를 지원하며, 각 계층은 RPC로 통신하므로 수평 확장이 가능합니다.
클라이언트는 WebSocket이나 TCP로 연결할 수 있으며, 두 연결 유형 간에도 메시지를 주고받습니다. 서비스 검색에는 etcd를 사용하고, Redis는 메시지 큐와 저장소 역할을 합니다. 데모 구성에서는 사용자 데이터를 sqlite3와 GORM으로 처리하며, 다른 관계형 데이터베이스나 Kafka, RabbitMQ 같은 대용량 큐로 교체할 수 있습니다.
프로젝트는 api, connect, logic, task, site 모듈로 나뉘며, 각 모듈은 단일 바이너리로 별도 실행합니다. Docker 구성과 실행 스크립트로 의존성과 데모 채팅방을 구동할 수 있으며, 별도의 TypeScript 및 React 프런트엔드도 제공됩니다.
핵심 기능
- 01비공개 메시지와 채팅방 브로드캐스트 메시지
- 02프로토콜 간 메시지 전달을 지원하는 WebSocket 및 TCP 클라이언트 연결
- 03etcd를 통한 서비스 검색 및 계층 간 RPC 통신
- 04Kafka나 RabbitMQ로 교체할 수 있는 Redis 기반 메시지 큐
- 05의존성과 데모를 한 번에 구성하는 Docker 설정
활용 사례
- Go에서 수평 확장 가능한 채팅 서버 구조를 학습
- 사내 채팅 또는 메시징 기능 프로토타이핑
- 기존 비즈니스 로직을 기반으로 맞춤형 IM 백엔드 구축
빠른 시작
- 1
저장소를 클론합니다
git clone git@github.com:LockGit/gochat.git - 2
포함된 스크립트를 사용해 Docker로 데모를 시작합니다(로컬 주소)
cd gochat && sh run.sh dev 127.0.0.1 - 3
브라우저에서 http://127.0.0.1:8080을 열어 채팅방에 입장합니다
사용 전 알아둘 점
- Docker를 사용하지 않으면 etcd와 Redis가 필요하며, 여러 모듈을 수동으로 시작해야 합니다.
- 메시지는 데이터베이스에 저장되지 않고 큐를 통해 전달되기만 합니다.
- README에 따르면 샘플 데모에서는 TCP 채널이 활성화되어 있지 않습니다.
포함된 컬렉션
토픽
자주 묻는 질문
- gochat은(는) 무엇인가요?
- 순수 Go로 작성된 경량 실시간 메시징 백엔드로, WebSocket과 TCP를 통해 1:1 메시지와 채팅방 브로드캐스트를 지원합니다. gochat은 순수 Go로 구현된 실시간 메시징 시스템입니다. 1:1 비공개 메시지와 채팅방 내 브로드캐스트 메시지를 지원하며, 각 계층은 RPC로 통신하므로 수평 확장이 가능합니다.
- gochat은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- gochat은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- gochat은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. gochat의 마지막 커밋은 2026년 9월 1일입니다.
- gochat은(는) 어디에 사용할 수 있나요?
- Go에서 수평 확장 가능한 채팅 서버 구조를 학습 사내 채팅 또는 메시징 기능 프로토타이핑 기존 비즈니스 로직을 기반으로 맞춤형 IM 백엔드 구축
- gochat는 어떻게 설치하나요?
- 저장소를 클론합니다: git clone git@github.com:LockGit/gochat.git 포함된 스크립트를 사용해 Docker로 데모를 시작합니다(로컬 주소): cd gochat && sh run.sh dev 127.0.0.1 브라우저에서 http://127.0.0.1:8080을 열어 채팅방에 입장합니다
- gochat은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/LockGit/gochat
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Go로 구현한 자체 호스팅 인스턴트 메시징 서버로, Android·iOS·웹 클라이언트와 JSON/WebSocket 및 gRPC API를 제공합니다.
사람과 AI 에이전트가 협업하는 개방형 업무 공간 OCTO를 위한 Go 백엔드로, REST 및 WebSocket API와 WuKongIM 기반 실시간 메시징을 제공합니다.
Cloudflare Workers에서 실행되는 셀프 호스팅 팀 채팅으로, 실시간 메시지, 양방향 Telegram 브리지, 서버 측 암호화를 지원합니다.
Stoat 채팅 플랫폼을 구동하는 Rust 백엔드 서비스와 라이브러리로, REST API, WebSocket 이벤트 서버, 파일 서버를 포함합니다.
uWebSockets.js 기반의 채팅 서버로, Node.js 백엔드와 MongoDB, Redis를 사용해 XMPP의 대안을 제공합니다.