Ответ
RPC (Remote Procedure Call) — это протокол для вызова функций на удалённом сервере, как если бы они были локальными. В веб-разработке часто используется JSON-RPC или gRPC.
Пример с JSON-RPC:
async function fetchRPC(method, params) {
const response = await fetch('https://api.example.com/rpc', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
jsonrpc: '2.0',
method,
params,
id: 1
})
});
return await response.json();
}
// Использование
fetchRPC('getUser', { id: 123 }).then(console.log);
Где применял:
- Интеграция с бэкендом через JSON-RPC (например, Ethereum API)
- Работа с gRPC в микросервисных архитектурах (часто через прокси типа gRPC-Web)
- Оптимизация запросов, когда REST неэффективен
Особенности:
- Строгая типизация в gRPC (прото-файлы)
- Меньший оверхед по сравнению с REST
- Сложнее в дебаге без инструментов вроде Postman