Fazer uma chamada de função parecer local, mesmo estando em outra máquina.
newlist = append(data, dbList)
Como seria um RPC disso? Uma chamada para um stub do cliente empacota os parâmetros em uma mensagem enviada ao servidor; o stub do servidor recebe, desempacota, faz a chamada na implementação do append e faz o caminho de volta.



Há duas formas de permitir o desenvolvimento com RPC:
O desenvolvedor define exatamente o que pode ser chamado remotamente, e os stubs de cliente e servidor são gerados.
A chamada remota de procedimento faz parte do próprio ambiente da linguagem de programação.
RPyC e gRPC na prática.
$ ./rpyc_classic.py -m threaded -p 12333
INFO:SLAVE/12333:server started on [0.0.0.0]:12333
INFO:SLAVE/12333:accepted 127.0.0.1:34044
INFO:SLAVE/12333:welcome [127.0.0.1]:34044
INFO:SLAVE/12333:goodbye [127.0.0.1]:34044
^C
WARNING:SLAVE/12333:keyboard interrupt!
INFO:SLAVE/12333:server has terminated
INFO:SLAVE/12333:listener closed
ou, chamando o script diretamente com Python:
$ python bin/rpyc_classic.py
INFO:SLAVE/18812:server started on [127.0.0.1]:18812
Framework de RPC de alto desempenho, open-source, que usa Protocol Buffers como IDL e HTTP/2 como transporte.

O clássico "um pergunta, um responde" — como uma chamada de função comum.
Uma requisição, várias respostas conforme ficam prontas — ex.: acompanhar um pedido em tempo real.
Várias requisições enviadas aos poucos, uma única resposta no final — ex.: upload de arquivo em partes.
Os dois lados enviam e recebem ao mesmo tempo, de forma independente — ex.: chat em tempo real.
YouTube · Dicionário do Programador
gRPC
youtube.com/watch?v=F4t3ZBVMlvo
YouTube · Dicionário do Programador
RPC vs gRPC
youtube.com/watch?v=gnchfOojMk4