Servidor de mensajería instantánea de código abierto en Go que los desarrolladores integran en sus propias aplicaciones mediante un SDK, una REST API y webhooks.
LockGit/gochat
Backend ligero de mensajería instantánea escrito en Go puro, con mensajes privados y difusión en salas por WebSocket y TCP.
- Estrellas
- 2,937
- Forks
- 475
- Issues abiertos
- 30
- Último commit
- hace 2 meses
¿Qué es?
gochat es un sistema de mensajería instantánea implementado en Go puro. Admite mensajes privados entre dos usuarios y mensajes de difusión dentro de salas de chat; las distintas capas se comunican mediante RPC para que cada una pueda escalar horizontalmente.
Los clientes pueden conectarse por WebSocket o TCP, y los mensajes se intercambian entre ambos tipos de conexión. Los servicios se descubren entre sí mediante etcd; Redis actúa como cola de mensajes y capa de almacenamiento. En la configuración de demostración, sqlite3 con GORM se usa para los datos de usuario, pero puede sustituirse por otra base de datos relacional o por una cola más robusta, como Kafka o RabbitMQ.
El proyecto está dividido en los módulos api, connect, logic, task y site, cada uno iniciado por separado con un único binario. La configuración de Docker y un script de ejecución ponen en marcha las dependencias y una sala de chat de demostración; también hay disponible un front end independiente en TypeScript y React.
Funciones clave
- 01Mensajes privados y mensajes de difusión en salas
- 02Conexiones de clientes por WebSocket y TCP, con entrega entre protocolos
- 03Descubrimiento de servicios mediante etcd y comunicación RPC entre capas
- 04Cola de mensajes respaldada por Redis, que puede sustituirse por Kafka o RabbitMQ
- 05Configuración con Docker en un solo comando para iniciar las dependencias y la demostración
Casos de uso
- Aprender cómo se estructura en Go un servidor de chat escalable horizontalmente
- Crear un prototipo de una función interna de chat o mensajería
- Crear un backend de mensajería instantánea personalizado sobre la lógica de negocio existente
Inicio rápido
- 1
Clona el repositorio
git clone git@github.com:LockGit/gochat.git - 2
Inicia la demo con Docker usando el script incluido (dirección local)
cd gochat && sh run.sh dev 127.0.0.1 - 3
Abre http://127.0.0.1:8080 en un navegador para entrar en la sala de chat
Antes de usarlo
- Si no usas Docker, necesitas etcd y Redis, además de iniciar manualmente varios módulos.
- Los mensajes no se guardan en una base de datos; solo se retransmiten a través de la cola.
- El README indica que la demo de ejemplo no habilita el canal TCP.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es gochat?
- Backend ligero de mensajería instantánea escrito en Go puro, con mensajes privados y difusión en salas por WebSocket y TCP. gochat es un sistema de mensajería instantánea implementado en Go puro. Admite mensajes privados entre dos usuarios y mensajes de difusión dentro de salas de chat; las distintas capas se comunican mediante RPC para que cada una pueda escalar horizontalmente.
- ¿gochat es gratuito? ¿Qué licencia tiene?
- gochat es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿gochat sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de gochat fue el 1 sept 2026.
- ¿Para qué puedo usar gochat?
- Aprender cómo se estructura en Go un servidor de chat escalable horizontalmente Crear un prototipo de una función interna de chat o mensajería Crear un backend de mensajería instantánea personalizado sobre la lógica de negocio existente
- ¿Cómo se instala gochat?
- Clona el repositorio: git clone git@github.com:LockGit/gochat.git Inicia la demo con Docker usando el script incluido (dirección local): cd gochat && sh run.sh dev 127.0.0.1 Abre http://127.0.0.1:8080 en un navegador para entrar en la sala de chat
- ¿Dónde consigo gochat?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/LockGit/gochat
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Servidor de mensajería instantánea en Go que puedes alojar por tu cuenta, con clientes nativos para Android, iOS y web, además de API JSON/websocket y gRPC.
Backend en Go para OCTO, un espacio de trabajo abierto donde colaboran personas y agentes de IA, con API REST y WebSocket y mensajería en tiempo real basada en WuKongIM.
Chat de equipo autohospedado en Cloudflare Workers, con mensajería en tiempo real, puente bidireccional con Telegram y cifrado de mensajes y archivos en el servidor.
Servicios de backend y bibliotecas en Rust que impulsan la plataforma de chat Stoat, incluidos su API REST, servidor de eventos WebSocket y servidor de archivos.
Servidor de chat basado en uWebSockets.js que ofrece una alternativa a XMPP, con backend en Node.js, MongoDB y Redis.