- Compatibilidad con XF
- 2.2.x
- 2.3.x
- Descripción breve
- Centrifugo integrates seamlessly with applications, offering great performance, built-in features, and scalable solutions. Built in Go for high efficiency, it supports Redis, KeyDB, Tarantool engines, and Nats brokers for robust scaling capabilities. Ideal for real-time messaging, including chats, live comments, multiplayer games, and streaming metrics. Used by companies like Badoo and ManyChat in production environments.
Agrega integración con Centrifuge.
Centrifugo es un servicio que se puede hospedar en la propia infraestructura, que puede manejar conexiones a través de una variedad de transportes de tiempo real y proporciona un API simple de publicación. Centrifugo integra bien con cualquier aplicación – no es necesario cambiar la arquitectura existente para introducir características de tiempo real. Solo dé a Centrifugo el manejo de las conexiones persistentes.Gran rendimientoCentrifugo está construido en el lenguaje de programación Go con algunas optimizaciones inteligentes incorporadas. Tiene buena performance – un entorno de prueba con una millón de conexiones WebSocket y 30 millones de mensajes entregados por minuto, utilizando hardware similar a uno moderno de servidor.Funcionalidad-rellenaMuchas características incorporadas pueden ayudar a construir una aplicación real-time atractiva en un tiempo limitado. Centrifugo ofrece diferentes tipos de suscripciones, historia del canal caliente, presencia instantánea, llamadas RPC. También es posible proxyar los eventos de conexión al backend del aplicativo sobre HTTP o GRPC y más.
Características incorporadas de Redis, KeyDB, Tarantool o broker Nats hacen posible escalar las conexiones entre diferentes máquinas. Con la sharding consistente de Redis, KeyDB y Tarantool es posible manejar millones de conexiones activas con requisitos de hardware razonables.Usado en producciónIniciado hace casi 10 años, entonces Centrifugo (y la biblioteca Centrifuge para Go, que está construida sobre él) es un servidor maduro que se ha utilizado con éxito en producción por muchas empresas alrededor del mundo: Badoo, Ably, ManyChat, Grafana y otras.¿Qué es el mensajamiento en tiempo real?Messaging en tiempo real puede ayudar a construir aplicaciones interactivas donde los eventos se pueden entregar a los usuarios casi instantáneamente después de que sean reconocidos por el backend del aplicación mediante la emisión de datos en una conexión persistente – lo cual logra un bajo latencia de entrega.
Los chats, comentarios en vivo y juegos multijugador pueden construirse sobre un sistema de mensajería en tiempo real.
Centrifugo maneja conexiones persistentes desde los clientes a través de WebSocket bidireccional, SockJS, SSE (EventSource) unidireccional, transporte HTTP-streaming y GRPC, y proporciona una API para publicar mensajes a los clientes online en tiempo real.EscalabilidadMuchas soluciones de mensajería en tiempo real están disponibles en Github y hay servicios online pagados. Pero solo pocos de ellos ofrecen escalabilidad por defecto— la mayoría funciona únicamente en un proceso. No quiero decir que Centrifugo sea el único servidor que escala. Hay muchas alternativas como Socket.IO, SocketCluster, Pushpin y miles más. El punto es que la posibilidad de escalar es una de las cosas principales que debes considerar cuando buscas una solución de mensajería en tiempo real o estás construyendola desde cero. No puedes predecir cuándo tu aplicación empezará a agotar los recursos disponibles en un solo servidor— la escalabilidad del software no es una optimización prematura y, en general, tener una solución escalable por defecto te da más espacio para mejorar las funciones de la aplicación.
Muchos servicios online también son capaces de escalar. Pero mira el precio— muchos de esos soluciones son bastante caras.pusher.compago $500 al mes pero solo obtengo un máximo de 10k conexiones y una cantidad limitada de mensajes mensuales. Esto es ridículo. Por supuesto, Centrifugo es self-hosted y debes usar la capacidad del servidor para ejecutarlo. Pero supongo que el costo no se compara en muchos casos.
Centrifugo escala bien con Redis PUB/SUB, soporta una sharding consistente de Redis al nivel de aplicación de manera nativa y integra con Sentinel para alta disponibilidad. Servimos hasta 500k conexiones con Centrifugo teniendo 10 nodos Centrifugo para conexiones en Kubernetes y solo un instancia de Redis que consumió solo el 60% de una sola núcleo de procesador! También hay unongoing pull requestañade posibilidad de escalar PUB/SUB con servidor Nat como broker.
Centrifugo es un servicio que se puede hospedar en la propia infraestructura, que puede manejar conexiones a través de una variedad de transportes de tiempo real y proporciona un API simple de publicación. Centrifugo integra bien con cualquier aplicación – no es necesario cambiar la arquitectura existente para introducir características de tiempo real. Solo dé a Centrifugo el manejo de las conexiones persistentes.Gran rendimientoCentrifugo está construido en el lenguaje de programación Go con algunas optimizaciones inteligentes incorporadas. Tiene buena performance – un entorno de prueba con una millón de conexiones WebSocket y 30 millones de mensajes entregados por minuto, utilizando hardware similar a uno moderno de servidor.Funcionalidad-rellenaMuchas características incorporadas pueden ayudar a construir una aplicación real-time atractiva en un tiempo limitado. Centrifugo ofrece diferentes tipos de suscripciones, historia del canal caliente, presencia instantánea, llamadas RPC. También es posible proxyar los eventos de conexión al backend del aplicativo sobre HTTP o GRPC y más.
Características incorporadas de Redis, KeyDB, Tarantool o broker Nats hacen posible escalar las conexiones entre diferentes máquinas. Con la sharding consistente de Redis, KeyDB y Tarantool es posible manejar millones de conexiones activas con requisitos de hardware razonables.Usado en producciónIniciado hace casi 10 años, entonces Centrifugo (y la biblioteca Centrifuge para Go, que está construida sobre él) es un servidor maduro que se ha utilizado con éxito en producción por muchas empresas alrededor del mundo: Badoo, Ably, ManyChat, Grafana y otras.¿Qué es el mensajamiento en tiempo real?Messaging en tiempo real puede ayudar a construir aplicaciones interactivas donde los eventos se pueden entregar a los usuarios casi instantáneamente después de que sean reconocidos por el backend del aplicación mediante la emisión de datos en una conexión persistente – lo cual logra un bajo latencia de entrega.
Los chats, comentarios en vivo y juegos multijugador pueden construirse sobre un sistema de mensajería en tiempo real.
Centrifugo maneja conexiones persistentes desde los clientes a través de WebSocket bidireccional, SockJS, SSE (EventSource) unidireccional, transporte HTTP-streaming y GRPC, y proporciona una API para publicar mensajes a los clientes online en tiempo real.EscalabilidadMuchas soluciones de mensajería en tiempo real están disponibles en Github y hay servicios online pagados. Pero solo pocos de ellos ofrecen escalabilidad por defecto— la mayoría funciona únicamente en un proceso. No quiero decir que Centrifugo sea el único servidor que escala. Hay muchas alternativas como Socket.IO, SocketCluster, Pushpin y miles más. El punto es que la posibilidad de escalar es una de las cosas principales que debes considerar cuando buscas una solución de mensajería en tiempo real o estás construyendola desde cero. No puedes predecir cuándo tu aplicación empezará a agotar los recursos disponibles en un solo servidor— la escalabilidad del software no es una optimización prematura y, en general, tener una solución escalable por defecto te da más espacio para mejorar las funciones de la aplicación.
Muchos servicios online también son capaces de escalar. Pero mira el precio— muchos de esos soluciones son bastante caras.pusher.compago $500 al mes pero solo obtengo un máximo de 10k conexiones y una cantidad limitada de mensajes mensuales. Esto es ridículo. Por supuesto, Centrifugo es self-hosted y debes usar la capacidad del servidor para ejecutarlo. Pero supongo que el costo no se compara en muchos casos.
Centrifugo escala bien con Redis PUB/SUB, soporta una sharding consistente de Redis al nivel de aplicación de manera nativa y integra con Sentinel para alta disponibilidad. Servimos hasta 500k conexiones con Centrifugo teniendo 10 nodos Centrifugo para conexiones en Kubernetes y solo un instancia de Redis que consumió solo el 60% de una sola núcleo de procesador! También hay unongoing pull requestañade posibilidad de escalar PUB/SUB con servidor Nat como broker.