Repolode
LockGit

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. 1

    저장소를 클론합니다

    git clone git@github.com:LockGit/gochat.git
  2. 2

    포함된 스크립트를 사용해 Docker로 데모를 시작합니다(로컬 주소)

    cd gochat && sh run.sh dev 127.0.0.1
  3. 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 통계는 매일 갱신됩니다.

관련 프로젝트