2017-09-28 6 views
0

두 가지 서비스가 있습니다. 서비스 사용자 기록의 작년을 검색합니다. 서비스 II는 사용자 기록의 벤치 마크를 검색하지만 때로는 다른 매개 변수를 사용하여 호출 서비스 II를 4 번 필요합니다. 그래서, 나는 5 가지 요청을한다.성능, 최상의 서비스 : 많은 요청을하거나 복잡한 서비스를 만드십니까?

그러나 사용자 기록을 가진 모든 벤치마킹에서 왼쪽 가입을 할 수있는 서비스를 만들 수 있습니다. 그러나이 경우 백엔드는 최악의 성능이됩니다.

그럼 뭐가 최고입니까? - 5 개 요청을 유지하고 프론트 엔드에서이 데이터를 병합하는 몇 가지 논리를 만들거나 - 하나 개의 요청합니다 백엔드의 복잡성을 증가하지만, 프론트 엔드 간단

PS를 유지 : 내 서비스는 AWS (λ)에서 실행됩니다.

답변

1

두 가지 방법을 시도해보십시오. 기준. 비교.

답변은 병목에 따라 많은 부분에 따라 다릅니다.

실제 경험 :

나는 내가 많은 조인을 사용하여 필요한 모든 검색 하나 개의 요청이 프로젝트가있다. 처음에는 훌륭하게 작동했으며 많은 별도의 요청을하는 것보다 낫습니다. 프론트 엔드 - 백엔드 HTTP 요청은 병목 현상이었습니다.

결국 데이터베이스가 커지고 데이터베이스 쿼리가 너무 많은 행을 포함하므로 백엔드가 병목 현상이되었습니다. 이 시점에서 백엔드의로드를 줄이기 위해 프론트 엔드에서 여러 요청을 수행하고 조인을 수행하는 것이 좋습니다.