Ich bin auf der Suche nach einem RPC-Framework für den internen Gebrauch. Der Rahmen muss eine Sprache sein. Ich erkunde gerade Apache Thrift. Google Protokoll Puffer bietet keine RPC-Funktionen genau. Welche Möglichkeiten habe ich außer Thrift? (Meine Server werden hauptsächlich Java sein und die Clients werden Java, Python, PHP sein).RPC-Frameworks verfügbar?
Antwort
Ich würde REST als eine erste Option betrachten, weil es allgegenwärtig und no-nonsense ist.
Wenn Leistung und Darstellung wirklich kompakt sein müssen, habe ich gute Dinge über Apache AVRO gehört und meine Finger zucken, um es in Wut auszuprobieren.
AVRO scheint interessant. Nun REST vs RPC Debatte ist vorbei und ich bin auf der Suche nach RPC Alternativen – sheki
Viel Glück! Lassen Sie uns wissen, wie es funktioniert. –
Nun, auf den ersten Blick scheint AVRO PHP nicht von Anfang an zu unterstützen. Das könnte ein Problem für uns sein. – sheki
Es scheint auch ICE: , die Google Protocol Buffers für RPC verwendet.
Um genau zu sein, verwendet es sie nicht, aber kann sie emulieren. –
Es gibt auch MessagePack , die angeblich schneller als Protokollpuffer sind und mehr Funktionen als Thrift haben.
Um ehrlich zu sein, spielen Leistungsunterschiede zwischen PB, Thrift und Alternativen selten eine Rolle - sie sind alle schnell genug für die meisten Anwendungen. – StaxMan
Nach ein wenig erkunden, und mit Blick auf alle verfügbaren Optionen zusammen mit der Dokumentation, bevorzuge ich Sparsamkeit. Wartet darauf, dass das Message Pack reifer wird – sheki
Neugierig, was genau Sie mit RPC über eine sehr einfache Anfrage-/Antwortbehandlung ("REST") suchen; zum Beispiel einfache HTTP + JSON-Kombination funktioniert eher gut, bequem, Leistung, einfach. Was würde ein Framework wie Sparsamkeit, PB, Hessian oder andere dir kaufen? – StaxMan
Thrift ist definitiv schneller und leichter als der HTTP/JSON-Ansatz. Mit Thrift können mehr Anfragen beantwortet werden als mit HTTP + JSON/XML. Thrift ist also eine gute Wahl für interne Dienste. REST-Ansatz möglicherweise am besten für externe APIs – sheki