Buffer di protocollo Stack RPC Java
-
08-07-2019 - |
Domanda
Secondo questo voce di Wikipedia:
" Protocol Buffers è molto simile al protocollo di risparmio di Facebook, tranne per il fatto che non include uno stack RPC concreto da utilizzare per servizi definiti. Da quando i buffer di protocollo erano di provenienza aperta, è emersa una serie di stack RPC per colmare questa lacuna. & Quot;
Tuttavia, non ci sono esempi di stack RPC citati. Qualcuno può suggerire un'implementazione basata su Java di uno stack RPC?
Soluzione
Se desideri uno stack RPC basato su Java, è RMI . Tuttavia, non funziona bene su più piattaforme.
Sto usando ProtoBuf per fare RPC. Puoi praticamente simulare uno stack RPC avvolgendo un messaggio protobuf all'interno di un altro protobuf, che definisce i servizi o le chiamate. Trova la mia risposta a questa domanda per i dettagli,
Buffer di protocollo di Google e HTTP
La parsimonia sembra un'ottima alternativa se si desidera supportare più piattaforme come PHP, Ruby, C # ecc. Tuttavia, mi sembra molto complesso rispetto a ProtoBuf.
Altri suggerimenti
Google ha aperto il proprio framework RPC gRPC , che utilizza i buffer di protocollo per definire il servizio e i messaggi. gRPC è multipiattaforma con supporto per C, C ++, C #, Java, Go, Node.js, Python, Ruby, Objective-C e PHP.
gRPC si basa sullo standard HTTP / 2 che abilita nuove funzionalità come streaming bidirezionale, controllo del flusso, compressione dell'intestazione e connessioni multiplex.