О теме
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.