amqp-oder xmpp-für real-time online-Spiele
Welche diese Technologie-suite für Multi-user-online-Spiel-Projekt..
Anforderungen an ein Projekt:
1. In der Lage zu handhaben 2k-5k user zu einem bestimmten Zeitpunkt.
2. client-Bibliothek für iphone und android (native, kein javascript).
3. client-Bibliothek für Microsoft Windows (die wichtigsten), auch für mac os x und linux.
4. Gute Dokumentation, die speziell für die mod Entwicklung
5. Projekt ist nicht open source. So, können nur Bibliotheken mit geeigneten Lizenz.
Kann ich das Programm in erlang und java sowie Programmierung Sprache ist nicht ein Problem.
War ich bei der Suche folgenden server Technologien wie Openfire, Tigase, ejabberd und RabbitMQ.
Alle sind gut für mein Projekt, aber ich möchte mehr wissen über das, was suite meine Bedürfnisse, AMQP oder XMPP.
Was AMQP bieten speziell für Echtzeit-online-Spiele. Ist es eine bessere option dann xmpp?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Leute von Linden Labs (Second Life) gemacht, einen gründlichen Vergleich der viele messaging-Systeme, die Sie Lesen sollten:
http://wiki.secondlife.com/wiki/Message_Queue_Evaluation_Notes
Für was es Wert ist, ich bin mit zeromq in einem Projekt und es ist wirklich interessant, weil ,je nach Anwendungsfall, die Sie nicht brauchen, ein broker-Knoten.
Einen wesentlichen Unterschied zwischen XMPP-und AMQP ist der binäre Inhalt. AMQP verarbeitet binäre Daten einfach in Ordnung, und XMPP scheint mehr entwickelt, für XML. Persönlich für online-Spiele, die ich verwenden Google Protocol Buffers für die Nachricht, Formatierung und Analyse, und mit Ihren sehr kleinen binären footprint, würde ich eher geneigt sein, zu verwenden, AMQP, um zu liefern diese Nachrichten.
Aber überlegen Sie sich was AMQP-server, den Sie verwenden möchten. Ich habe gebissen worden von mit RabbitMQ für meine AMQP-server, in der Vergangenheit. RabbitMQ keine flow-control-Einrichtungen, bei allen. Also, wenn Ihre clients das senden von Nachrichten schneller als Ihr server kann Sie verzehren, Puffer auf dem server füllen können, und Blasen Sie den server. Neuere Versionen von RabbitMQ implementieren der Ablaufsteuerung in einem überaus grobe Art und Weise: Sie halt alle Verbraucher in das system, bis der Speicher aufräumt.
Ich habe nie versucht, zeromq; vielleicht wäre es besser für die Dinge, die ich habe mit RabbitMQ für...
5K Benutzer nicht mir sagen, viel über Ihr Verhalten, aber wenn Sie alle vorlegen einer Anfrage innerhalb des gleichen 10-Sekunden-Fenster, dann lassen Sie uns sagen, Sie wären auf der Suche in der 500-1000 Anfragen pro Sekunde.
Habe ich Aktiv/MQ läuft auf meinem relativ low-powered-lap-top-leicht Handhabung 300 Anfragen pro Sekunde und ich würde gerne es hier empfehlen. Sie können auch die set-up-Clustern von Maklern und horizontale Skalierbarkeit erreichen. Sie können einen http-Protokoll (STOMP) oder den native-binary-Protokoll. Viele der client-API-Bibliotheken für C/C++, Java, JavaScript und anderen. Es gibt einige erste AMQP-support.
Du nicht zu erwähnen Persistenz Anforderung, aber wieder hätte ich gedacht, dass die meisten RDBMS würde ausreichen. Das sagte, einige der Dokument-orientierten und big-Tabelle Typ-Datenbanken interessant Aussehen aus einer horizontalen Skalierung Perspektive.
Ich habe auch festgestellt, Apache Camel sehr performant, und ich empfehle es. Camel verwendet wird, um Ihre Logik-Schicht.
'hoffe, dass dies hilft.
XMPP verwendet werden können in textueller Spiele. http://gamerunes.com