> For the complete documentation index, see [llms.txt](https://gunkim.gitbook.io/undefined/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gunkim.gitbook.io/undefined/rpc-limitations.md).

# rpc-limitations

### 배운 개념

* "원격 네트워크 함수 호출을 로컬 함수 호출처럼 추상화하자(위치 투명성)"는 초기 RPC 철학은 네트워크의 현실을 무시하여 한계가 명확함.
* 로컬 호출은 성공/실패가 확실하고 속도가 일정하지만, 네트워크 통신은 \*\*'부분 장애(Timeout 등 알 수 없음)'\*\*와 \*\*'시간 불확실성(Jitter로 인한 지연 널뛰기)'\*\*이라는 근본적 문제가 존재함.
* 결국 완벽한 위치 투명성은 불가능하며, 실패(타임아웃) 시 멱등성을 고려한 재시도 전략이 필수적임.

### 복습 체크

* [ ] 로컬 함수 호출과 네트워크 함수 호출의 가장 치명적인 결과 상태의 차이는 무엇인가?
* [ ] Timeout 상황 시 단순 재시도(Retry)를 할 때 발생할 수 있는 비즈니스적 부작용은?


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://gunkim.gitbook.io/undefined/rpc-limitations.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
