Centrifugo is a robust and scalable real-time messaging server that operates independently of your application's programming language. As a separate service, it maintains persistent connections from application clients using various types of transport such as WebSocket, SockJS, EventSource, GRPC, and HTTP-streaming. The essence of Centrifugo is its ability to act as an accessible PUB/SUB server for user-facing applications.
Features
One of Centrifugo's key offerings is its seamless integration capability. As a self-hosted service, Centrifugo can manage connections over multiple real-time transports while providing a straightforward publish API. It meshes seamlessly with any application without the need to modify the existing application architecture. With Centrifugo taking care of the persistent connections, introducing real-time features to your applications becomes hassle-free.
In terms of performance, Centrifugo raises the bar high. Developed in Go language and powered by smart optimizations, its performance metrics are truly remarkable. A standard test with 1 million WebSocket connections demonstrated that up to approximately 30 million messages per minute (or 500k messages per second) could be delivered to connected clients with a latency not exceeding 200ms in the 99th percentile.