Skip to main content

4 posts tagged with "go"

View All Tags

Scaling WebSocket in Go and beyond

ยท 19 min read
Alexander Emelin
Creator of Centrifugo


I believe that in 2020 WebSocket is still an entertaining technology which is not so well-known and understood like HTTP. In this blog post I'd like to tell about state of WebSocket in Go language ecosystem, and a way we could write scalable WebSocket servers with Go and beyond Go.

Experimenting with QUIC and WebTransport

ยท 15 min read
Alexander Emelin
Creator of Centrifugo


UPDATE: WebTransport spec is still evolving. Most information here is not actual anymore. For example the working group has no plan to implement both QuicTransport and HTTP3-based transports โ€“ only HTTP3 based WebTransport is going to be implemented. Maybe we will publish a follow-up of this post at some point.

Million connections with Centrifugo

ยท 4 min read

In order to get an understanding about possible hardware requirements for reasonably massive Centrifugo setup we made a test stand inside Kubernetes.

Our goal was to run server based on Centrifuge library (the core of Centrifugo server) with one million WebSocket connections and send many messages to connected clients. While sending many messages we have been looking at delivery time latency. In fact we will see that about 30 million messages per minute (500k messages per second) will be delivered to connected clients and latency won't be larger than 200ms in 99 percentile.