api-design

2 posts

OpenAPI가 주는 건 알파벳뿐, Session Type이 필요한 건 문법이다

OpenAPI spec은 요청과 응답 schema를 기술하지만, 유효한 메시지 순서는 명시하지 않습니다. 여기서 OpenAPI가 줄 수 있는 것을 추출하는 방법과 여전히 직접 채워야 할 공백이 있는 부분을 설명합니다.

OpenAPI spec은 유효한 요청이 어떤 모습인지, 유효한 응답이 어떤 모습인지 알려줍니다. 하지만 를 이전에 호출할 수 있는지, 이후에 를 호출하면 어떤 일이 일어나는지는 알려주지 않습니다. 그 정보는 protocol spec에 있으며, OpenAPI는 protocol spec이…

재시도 루프는 첫 번째 요청이 실패했다고 가정합니다. 아마도 그렇지 않았을 겁니다.

타임아웃이나 크래시가 API 요청이 사라졌다는 뜻은 아닙니다. idempotency key가 재시도를 안전하게 만드는 방식, 그리고 실제로 중복을 방지하는 저장소 패턴을 소개합니다.

요청을 처리하던 중 서비스가 크래시됩니다. 클라이언트는 타임아웃을 보고 재시도합니다. 이제 두 건의 결제가 생겼습니다. 고객은 화가 났습니다. 데이터베이스는 일관적입니다. 비즈니스 로직은 그렇지 않습니다. 이건 엣지 케이스가 아닙니다. 분산 시스템의 기본 동작입니다. 네트워크는 패킷을…