Centrifugo

Centrifugo 2.3.6

Keine Berechtigung zum Herunterladen
XF-Kompatibilität
  1. 2.2.x
  2. 2.3.x
Kurzbeschreibung
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.
Integration mit Centrifuge.

Centrifugo ist ein self-hosted-Dienst, der Verbindungen über eine Vielzahl von real-time-Transports verwalten kann und bietet einen einfachen Publish-API. Centrifugo integriert sich gut in jede Anwendung – es ist nicht notwendig, die bestehende Anwendungskonfiguration zu ändern, um Realitätspflichtigkeiten einzubringen. Lassen Sie Centrifugo die persistierenden Verbindungen verwalten.
Gute Leistung

Centrifugo wird in Go-Programmiersprache entwickelt und enthält einige intelligente Optimierungsintrigen. Es hat gute Leistung – ein Teststand mit einer Million WebSocket-Verbindungen pro Sekunde und 30 Millionen versandbarer Nachrichten pro Minute, wobei die Hardware vergleichbar ist mit einem modernen Server-Kern.
Funktionale Vielfalt

Viele eingebaute Funktionen können helfen, eine attraktive realzeit-Anwendung in kurzer Zeit zu bauen. Centrifugo bietet verschiedene Art der Abonnements, aktuelle Kanal-Historien, instantene Präsense und RPC-Anrufe. Es ist auch möglich, Verbindungs-Ereignisse an den Anwendungs-Backend über HTTP oder GRPC zu proxyen.

Befehlsbasierte Redis-, KeyDB- und Tarantool-Speicherplattformen oder Nats-Broker ermöglichen es, Verbindungen über verschiedene Maschinen zu skalieren. Mit der Konzistenten Scharding von Redis, KeyDB und Tarantool ist es möglich, Millionen aktiver Verbindungen mit vernünftiger Hardwarevoraussetzung zu verwalten.
In Produktion

Centrifugo (und die Centrifuge-Bibliothek für Go) wurde fast 10 Jahre lang entwickelt und wird von vielen Unternehmen weltweit in der Produktion erfolgreich eingesetzt: Badoo, Ably, ManyChat, Grafana und andere.
Was ist realzeit-Nachrichtenvermittlung?

Realzeit-Nachrichten können interaktive Anwendungen bauen, wo Ereignisse fast sofort nach Akzeptanz durch den Anwendungskern über die Verbindung in eine persistierende Verbindung gesendet werden – was Minimal-Delays für die Nachrichtenübertragung erlaubt.

Chats, live-Kommentare, multiplayer-Spiele und Streaming-Metriken können auf einem realzeit-Nachrichtensystem gebaut werden.

Centrifugo verwalten persistente Verbindungen von Clients über bidirektionale WebSocket, SockJS und unidirektionale SSE (EventSource), HTTP-Streaming und GRPC-Transports und bietet eine API zum Veröffentlichen Nachrichten in realzeit zu online-Angemeldeten Benutzern.
Skalierbarkeit

Ein weiterer wichtiger Aspekt ist die Skalierung. Je mehr Ihre Anwendung wächst – je mehr Nutzer werden Sie mit Ihren realzeit-Endpunkt persistente Verbindungen herstellen. Ein modernes Server-Kern kann tausende offene Verbindungen verwalten, aber der Kraft eines Prozesses ist begrenzt – Sie werden schließlich an verfügbarer CPU oder Speicher ausfallen. So wird es am Zeitpunkt kommen, dass Sie die Benutzer-Verbindungen über mehrere Maschinen skalieren müssen. Eine weitere Gründe für die Skalierung von Verbindungen über mehrere Maschinen ist die Verfügbarkeit (wenn eine Serverausfall).

Es gibt viele realzeit-Nachrichtensysteme auf GitHub und kostenpflichtige online-Dienste. Aber nur wenige von ihnen bieten Standardmäßig Skalierbarkeit – die meisten arbeiten nur in einem Prozess. Ich will nicht sagen, dass Centrifugo der einzige Server ist, der skaliert. Es gibt immer noch viele Alternativen wie Socket.IO, SocketCluster, Pushpin und Tausende anderer. Mein Punkt ist, dass Skalierbarkeit eine der Hauptthemen sein sollte, wenn Sie nach einem realzeit-Lösung suchen oder sie selbst bauen. Sie können nicht wirklich vorhersagen, wie schnell Ihre Anwendung auf einer einzelnen Maschine ihre Ressourcen ausverkauft wird – die Software-Skalierung ist keine voreilig optimierte Lösung und in der Regel bietet eine skalierbare Lösung im Einkaufsstand mehr Raum für die Verbesserung der Funktionalität der Anwendungsfunctionen.

Viele online-Dienste sind auch in der Lage, zu skaliieren. Aber schauen Sie sich die Preise an —pusher.comDu zahlst 500$ im Monat und bekommst maximal 10k Verbindungen und einen stark begrenzten Monatsnachrichtenbetrag. Das ist absurd. Natürlich ist Centrifugo self-hosted und du musst deinen Serverkapazität für es aussetzen. Aber ich nehme an, die Kosten sind in vielen Fällen nicht vergleichbar.

Centrifugo skaliert gut mit Redis PUB/SUB, unterstützt Anwendungsebene von Redis-konsistentem Sharding ohne zusätzliche Konfiguration und integriert sich mit Redis Sentinel für hohe Verfügbarkeit. Wir haben bis zu 500k Verbindungen mit Centrifugo in Kubernetes erreicht, indem wir 10 Centrifugo Knotenpods für Verbindungen nutzten und nur eine Redis-Instanz, die nur 60% einer einzelnen Prozessor-Kerne kapazität aussetzte!ongoing pull requestwas Möglichkeit zur Skalierung von PUB/SUB mit dem NATS-Server als Broker hat
Screen.webp

Autor
axtona
Ansichten
518
Erweiterungstyp
zip
Dateigröße
283.5 KB
Erste Veröffentlichung
Letzte Aktualisierung
Bewertungen 0.00 Sterne 0 Bewertungen
Link defekt? Nachricht senden an das NP-Team – wir helfen dir schnell!
Unterstütze den Entwickler Wenn du mit dem Test zufrieden bist oder mit deinem Projekt erfolgreich Geld verdient hast, klicke auf den Button Mehr Informationen, um den Entwickler durch einen Kauf zu unterstützen.

Neueste Aktualisierungen

  1. 2.3.6 - changelog
    Reworking to 1 single instance Added auxiliary utility for cleaning old messages from DOM Added unsubscribe from channel...
  2. 2.3.4 - changelog
    Add new option Channel Instance ID
  3. 2.3.3 - changelog
    Now the connection token is generated on all pages, if you want to override you can set your parameters in the constructor for the token, host and...

Weitere Ressourcen von axtona

Sorcererprozoom A
Platz PHP und alle Art von HTML, CSS und JavaScript-Code direkt in dein Inhalt!
Cache-Cleaner-PRO A
Cache-Cleaner kann auch automatisch den Joomla! Cache nach der Speicherung eines Artikels oder anderer Inhalte bereinigen.
Auto Schließen + Thread-Bemerkung A
Auto Close Thread Notice hilft, ältere Diskussionen sauber zu halten ohne überraschende Nachrichten für deine Mitglieder.
Zurück
Oben