Was sind die alternativen zu ZeroMQ für den Umzug-Protokoll-Puffer-Nutzlasten um?

Im moment habe ich eine Lösung unter Verwendung von ZeroMQ zum exchange-Protokoll-Puffer-Nutzlasten.
Der Protokoll-Puffer-Methode der Serialisierung ist gebunden zu bleiben, wie es ist, aber ich kann ersetzen ZMQ mit einer mehr bequeme option.
Die Dinge, die ich bin nicht glücklich darüber in der ZMQ sind:

Es nutzt JNI auf der Java-Seite,und ich habe gebissen worden, bevor Sie von JNI, in komplexen, multi-thread-Szenarien. Ich versuche, Sie zu beseitigen, Wann immer ich kann.

Brauche ich nicht anstehen, brauche ich nur den rpc.

Meine Anforderungen (die sind meist abgedeckt, die von ZeroMQ) sind:

  • Unterstützung für 32/64 bit *nix, Windows, MacOS.

  • Unterstützung für Java, C++ und C# in Erster Linie, und Python, Ruby etc. wäre schön.

  • Sprache-Unterstützung muss zur Verfügung gestellt von native Implementierungen in der Sprache, nicht über Verpackung native code.

  • Hohe Leistung.

  • Nicht-Virale Lizenz, keine GPL, AGPL etc.

  • Habe ich darüber nachgedacht, mit Sparsamkeit als der transport layer über TCP (ich denke, es unterstützt wird, mit protocol buffers Nutzlasten, wenn seine Java-Implementierung für messaging ist nicht mit JNI.

Welche Optionen können Sie denken, der andere als ZMQ für dieses setup?

  • Haben Sie sich eingehend mit der Sparsamkeit? Letzte mal sah ich es, es nicht zu tun -nur - transport: es ist ein Ersatz für protocol buffers (plus transport).
  • Es ist nicht klar, was Sie wirklich brauchen, von 0mq. Es ist ziemlich generisch (sieht fast aus wie gerade sockets), so dass es deckt eine Menge von gorund. Sie suchen nach Warteschlangen? RPC?
  • Ich kann nicht ersetzen protocol buffers in diesem Projekt. Es muss verwendet werden, für die Serialisierung, egal, was die transport-Methode ist
  • es ist cross-Plattform, cross-language-rpc, ich bin auf der Suche nach. Ich habe bearbeitet die Frage, um die es (hoffentlich) klarer.
  • verstanden, daher mein Kommentar ... letztes mal schaute ich auf Sparsamkeit, es war alles darauf ausgerichtet, um mithilfe der Thrift IDL zu definieren, die die Nachricht Nutzlasten, sondern als ein cross-Plattform-transport-Mechanismus.
  • Sie Mai wollen überprüfen Sie es wieder 🙂 es sei denn ich bin wirklich nicht immer, scheint es für die Unterstützung der client & server-Bau zu. Bitte schauen Sie sich das Beispiel auf thrift.apache.org
  • Eine sehr späte Antwort, Haben Sie überprüft, vollständige java-Implementierung von ZeroMQ github.com/zeromq/jeromq
  • Haben Sie sich überlegt ZeroC ICE? Es hat IDL das ist besser als CORBA und mappings für alle Sprachen vielleicht außer Ruby. Alle OS, die Sie erwähnt haben, werden unterstützt. Sie sollten in der Lage sein, es zu benutzen, die als RPC-middleware mit kein problem in kürzester Zeit.

InformationsquelleAutor mahonya | 2012-04-14
Schreibe einen Kommentar