API и RPC

О теме

REST, gRPC, идемпотентность — контракт между сервисами.

Лекции

API и RPC
Идемпотентность HTTP и Idempotency-Key

По семантике HTTP методы GET, PUT и DELETE идемпотентны, POST — нет. Повтор POST после таймаута без ключа легко создаёт вторую операцию: запись могла пройти, а ответ потеряться.

API и RPC
REST vs gRPC: protobuf и когда RPC

REST в быту — ресурсы, JSON и семантика HTTP. gRPC — контракт в .proto, protobuf на проводе и вызовы как функции, обычно поверх HTTP/2. Публичному браузерному API чаще нужен REST; внутреннему mesh — RPC.