This Go-based microservice facilitates efficient, large-scale message broadcasting from a single sender to millions of receivers. It's designed to operate with minimal resources, making it highly scalable and cost-effective. The service acts as a central hub, managing connections between one sender client and a vast number of receiver clients. When the sender broadcasts a message, the microservice efficiently distributes it to all connected receivers simultaneously. By leveraging Go's concurrency and OS level epoll features optimizing resource usage, this solution enables real-time communication for applications requiring widespread message dissemination while maintaining low infrastructure demands.
- Clone this repo.
- start Server by running
go run server.go
. - Create a sever connection
ws://localhost:8000/sender
. - Connect as many clients posisble
ws://localhost:8000/receiver
. - Start sending meaages to all clients from sender connection.