6장. API 확장
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
API의 성공을 위해서는 사용 사례와 부하 측면에서 모두 확장성을 확보하는 것이 중요합니다. 이 섹션에서는 다음과 같은 확장 모범 사례와 팁을 통해 API가 미래에 대비할 수 있도록 합니다:
-
처리량 확장
-
진화하는 API 디자인
-
페이지 매기기 API
-
속도 제한 API
-
개발자 SDK
다른 사람들이 의존하는 API를 구축할 때는 가용성과 안정성이 중요합니다. 다운되지 않고 사용자에게 계속 빠르게 로드되기를 원할 것입니다. 하지만 API 사용량이 갑자기 급증할 수 있습니다. 이는 서비스 품질에 영향을 미치거나 애플리케이션이 API에 의존하는 경우 자체 애플리케이션이 다운될 수도 있습니다.
더 많은 API 호출을 지원하여 API를 확장하려면 애플리케이션 수준에서 할 수 있는 일이 많습니다. 데이터베이스 쿼리 최적화, 데이터베이스 샤딩, 누락된 인덱스 추가, 캐싱 활용, 비용이 많이 드는 작업을 비동기적으로 수행, 효율적인 코드 작성, 웹 서버 튜닝 등은 처리량을 늘리고 지연 시간을 줄이는 데 도움이 됩니다. 이 모든 작업은 매우 중요하며 반드시 수행해야 합니다. 이러한 주제는 웹 애플리케이션 성능에 관한 다른 책에서 더 광범위하게 다루기 때문에 이 장의 첫 번째 섹션에서만 간략하게 다룹니다.
이러한 최적화 외에도 종종 간과되는 또 다른 변경사항이 있으며 API를 확장하는 데 큰 도움이 될 수 있습니다. API 디자인을 개발하거나, API 사용 정책을 변경하거나, 타사 개발자가 API로 작업할 때 효율적인 코드를 작성하도록 도울 수 있는 방법이 있습니다. "API 디자인 발전시키기"에서는 자주 잊어버리는 이러한 모범 사례와 API 확장에 유용한 팁을 다룹니다.
또한 API는 점점 더 큰 데이터 집합을 처리해야 할 수도 있습니다. 페이지 매김은 개발자에게 대용량 데이터 집합을 제공하기 위한 효과적인 전략입니다. 이에 대한 몇 가지 팁과 기술은 "API 페이지 매기기"에서 살펴봅니다.
처리량 확장, API 디자인 개발, API 페이지 매기기 등을 통해 앞서 언급한 모든 문제를 해결한 후에도 개발자가 압도적으로 높은 비율로 요청을 할 수 있습니다. '속도 제한 API'에서는 전체 애플리케이션의 상태를 유지하기 위해 개발자의 요청을 합리적인 빈도로 효과적으로 제한하는 전략에 대해 설명합니다.
마지막으로, API 확장은 성장을 가능하게 하는 애플리케이션과 API 내의 메커니즘에 관한 것만이 아닙니다. '개발자 SDK'에서는 개발자가 모범 사례를 장려할 수 있는 도구를 만드는 방법에 대해 설명합니다.
처리량 확장
API 사용자 수가 증가함에 따라 처리량(초당 API 호출 수로 측정)도 증가합니다. 이 섹션에서는 이러한 증가를 지원하기 위해 API를 최적화할 수 있는 다양한 방법에 대해 설명합니다.
병목 현상 찾기
API를 확장하려면 애플리케이션 아키텍처와 코드를 근본적으로 변경해야 ...