Descomplicando RPC e gRPC

Published: (May 9, 2026 at 10:56 AM EDT)
2 min read
Source: Dev.to

Source: Dev.to

Introdução

A Chamada de Procedimento Remoto (RPC) é um dos paradigmas mais simples de API, em que um cliente executa um bloco de código em outro servidor.

Imagine que você tem um aplicativo no seu computador (Cliente) e ele precisa calcular uma fórmula complexa. Em vez de calcular isso localmente, ele chama uma função chamada CalcularImposto(). A mágica do RPC é que essa função não existe no seu computador; ela está em um servidor do outro lado do mundo.

Para fazer isso parecer local, o RPC usa um conceito chamado Stub:

  • Cliente chama o Client Stub (um pedaço de código local que finge ser a função real).
  • O Stub pega os parâmetros que você passou, empacota tudo (Serialização) e envia pela rede.
  • O servidor recebe a mensagem, passa para o Server Stub, que desempacota os dados (Desserialização) e chama a função real.
  • O resultado faz o caminho inverso até chegar ao seu cliente.

O grande objetivo do RPC é esconder a complexidade da rede. O desenvolvedor apenas chama funções, sem se preocupar em montar requisições HTTP ou gerenciar conexões manualmente.

Exemplo

POST /api/conversations.archive HTTP/1.1
Host: slack.com
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer xoxp-1650112-jgc2asDae

channel=C01234

API de Conversação do Slack

MétodoDescrição
conversations.archiveArchives a conversation.
conversations.closeCloses a direct message or multi-person direct message.
conversations.createInitiates a public or private channel-based conversation.
conversations.historyFetches a conversation’s history of messages and events.
conversations.infoRetrieve information about a conversation.
conversations.inviteInvites users to a channel.
conversations.joinJoins an existing conversation.
conversations.kickRemoves a user from a conversation.
conversations.leaveLeaves a conversation.
conversations.listLists all channels in a Slack team.
conversations.membersRetrieve members of a conversation.
conversations.openOpens or resumes a direct message or multi-person direct message.
0 views
Back to Blog

Related posts

Read more »

Zen of stdlib

A philosophy of simplicity, modularity, consistency, and craft. Over the past several years, stdlib has grown from a small collection of utilities into a large,...