WebSocket Chat Server — это многопользовательский чат, реализованный на Go, с использованием WebSocket для двусторонней связи и Redis Pub/Sub для масштабируемой передачи сообщений между клиентами. Сервер обрабатывает подключения по WebSocket, принимает и передаёт сообщения между пользователями в реальном времени. Redis используется как центральный посредник для публикации и подписки на сообщения, что позволяет легко масштабировать решение при добавлении новых экземпляров сервера.
- Поддержка нескольких клиентов
- Обмен сообщениями в реальном времени
- Использование Redis для Pub/Sub (рассылка между экземплярами)
- Простая архитектура и расширяемость
- Склонируйте репозиторий:
git clone "https://github.com/Pulontaine/Websocket-Chat-Server"
- Запустите Redis:
redis-server
redis-cli ping
Ожидаемый вывод: pong
- Запустите бэкенд-сервер:
go run cmd/server/main.go
Ожидаемый вывод:
Redis ping: PONG
Сервер запущен на :8080
- Подключитесь клиентом: Установите wscat:
npm install -g wscat
Подключитесь к чату из двух и более терминалов:
wscat -c ws://localhost:8080/ws?username=YOUR_NAME
Теперь можно писать сообщения — они рассылаются всем другим пользователям.