Handling 1M websocket connections in Go

 3 years ago
source link: https://www.tuicool.com/articles/hit/RrqqEfA
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Going Infinite, handling 1M websockets connections in Go

This repository holds the complete implementation of the examples seen in Gophercon Israel talk, 2019.


This repository demonstrates how a very high number of websockets connections can be maintained efficiently in Linux

Everything is written in pure Go

Each folder shows an example of a server implementation that overcomes various issues raised by the OS, by the hardware or the Go runtime itself, as shown during the talk.

setup.sh is a wrapper to running multiple instances using Docker. See content of the script for more details of how to use it.

destroy.sh is a wrapper to stop all running clients. Note that it removes any running container, so use with caution.

A single client instance can be executed by running go run client.go -conn=<# connections to establish>

Slides are available here

About Joyk

Aggregate valuable and interesting links.
Joyk means Joy of geeK