현재 다음과 같이 조직과 프로젝트를 진행하고 있습니다.
- 클라이언트 -REST API를 통해 기본 서버에서 데이터를 가져옵니다.
- 서버 -타사 API를 통해 다른 여러 서버에서 데이터를 요청합니다.
- 타사 API-서버에 데이터를 제공하는 통제 할 수없는 서비스 (Reddit, Hackernews, Quora 등)
주장을 위해 클라이언트가 먼저 각 타사 API의 항목 목록이 필요하다고 가정 해 봅시다. 이 목록에서 항목이 선택되어 고객이 항목의 전체 내용과 항목에 대한 응답 (예 : 설명)을 볼 수 있어야합니다. 세 가지 옵션 중 하나를 결정하려고합니다.
일품 요리
이 방법에서는 서버에 3 개의 개별 엔드 포인트가 있습니다. 하나는 항목 목록을 가져오고 다른 하나는 항목의 기본 컨텐츠를 가져오고 다른 하나는 항목의 응답을 가져옵니다.
- 장점 : 필요한 것보다 더 많은 요청을하지 않습니다. 요청은 작아야하므로 일반적으로 더 빠릅니다.
- 단점 : 요청을 많이해야합니다. 목록에서 항목을 선택한 후 사용자는 기본 컨텐츠를보기 전에 기다렸다가 응답을보기 위해 더 오래 기다려야 할 수 있습니다
서버 측 캐시
이 요청에서 모든 소스의 모든 데이터를 "가져 오기"위해 서버를 한 번 호출합니다. 그러면 데이터가 서버에 캐시됩니다. 그러면 서버에 이미 데이터가 있고 클라이언트에 데이터를 공급하기 때문에 호출 사이에 대기 시간이 많지 않다는 점을 제외하면 클라이언트는 이전과 동일한 REST 끝점을 갖습니다.
- 장점 : 클라이언트 측에서 여전히 구현하기는 쉽지만 대기 시간 문제는 없습니다.
- 단점 : 조금 더 관련이있는 서버 측이며 첫 번째 호출에는 실제로 시간이 오래 걸릴 수 있습니다.
클라이언트 측 캐시
이 시나리오는 클라이언트가 서버에 한 번만 요청하면 모든 데이터를 제공한다는 점을 제외하면 이전 시나리오와 유사합니다. 여기에서 데이터를 저장하고 적절하게 사용하는 것은 고객의 책임입니다.
- 장점 : 손쉬운 서버 구현, 첫 호출 후 매우 빠름
- 단점 : 첫 번째 호출은 매우 느리고 더 복잡한 클라이언트 측 구현입니다.
어느 것이 가장 좋은 방법인지 확실하지 않거나 명확한 해결책이 누락되었을 수 있습니다. 어떤 조언이라도 대단히 감사하겠습니다!