문제

다음 상황에 대한 모범 사례는 무엇입니까? 유통 업체에서 재고 수준을 낮추는 전자 상거래 상점이 있습니다. 사이트가 제품 세부 사항 페이지를로드 할 때마다 사이트가 가장 최신 데이터에 제 3 자 API를 사용해야합니까? 또는 사이트가 타사 API를 사용한 다음 해당 데이터를 자체 시스템에 일정 시간 동안 저장하고 주기적으로 업데이트해야합니까?

나에게 제품 세부 사항 페이지가로드 될 때마다 업데이트되어야한다는 것이 분명하지만 트래픽 전자 상거래 상점은 어떻습니까? 해당 경우에 완전히 다른 솔루션이 사용됩니까?

도움이 되었습니까?

해결책

이 경우 요청을받을 때마다 타격을받지 않고 분배기 사이트의 결과를 일정 기간 동안 반드시 캐시합니다. 그러나 모든 캐시 항목에 대해 5 분 또는 30 분 타임 아웃을 사용하지는 않습니다. 대신, 나는 휴리스틱을 사용할 것입니다. 가능하면 응용 프로그램이 Python과 같은 언어로 작성된 경우 타임 아웃을 구현하는 모든 제품에 간단한 스크립트를 첨부 할 수 있습니다.

이렇게하면 드물게 요청 된 품목이거나 재고가 많은 항목 인 경우 더 오랫동안 캐시 할 수 있습니다.

if product.popularityrating > 8 or product.lastqtyinstock < 20:
   cache.expire(productnum)
distributor.checkstock(productnum)

이렇게하면 필요한 경우 호출 할 수있는 유연성을 제공합니다. 처음에는 모든 규칙을 다음과 같은 것들로 설정할 수 있습니다.

 cache.expireover("3m",productnum)
 distributor.checkstock(productnum)

실제로, 스크립트에는 기본 앱에있을 것이기 때문에 CheckStock 함수 호출이 포함되지 않지만 컨텍스트에는 여기에 포함되어 있습니다. Python 이이 소량의 Flexibilty에만 포함하기에는 너무 무겁게 보이면이 유형의 작업을 위해 특별히 설계된 TCL을 살펴보십시오. 둘 다 C, C ++, C# 및 Java 응용 프로그램에 쉽게 내장 될 수 있습니다.

다른 팁

실제로 다른 해결책이 있습니다. 유통 업체는 제품 카탈로그를 서버에 보관하고 카탈로그 인터페이스를 엽니 다. 사용자가 주문을 원할 때 유통 업체의 카탈로그로 내내 리디렉션을 받고 항목을 선택한 다음 선택을 상점으로 다시 전송합니다.

SRM (공급 업체 관계 관리) 지점에서 널리 사용됩니다.

사이트로의 트래픽, 재고 수준이 얼마나 자주 변경되는지, 구식 데이터를 표시하는 비즈니스 영향, 공급 업체가 API를 호출 할 수있는 빈도, 가용성 및 성능 측면에서 API의 SLA 등의 많은 요인에 따라 다릅니다. 에.

이러한 답변이 있으면 물론 많은 가능성이 있습니다. 예를 들어, 인벤토리를 올바르게 얻는 것이 중요하는 트래픽이 적은 사이트의 경우 모든 통화에서 3 자 API를 호출 할 수 있지만 API가 응답하지 않으면 대체 동작 (캐시 된 데이터 사용과 같은 일부 대체 동작)으로 되돌아 갈 수 있습니다. 특정 시간 초과 내에.

때로는 잘 설계된 API에는 데이터의 유효성 기간에 대한 힌트가 포함됩니다. 예를 들어, 일부 Rest-Over-HTTP API는 유효성 기간을 지정하는 데 사용할 수있는 다양한 HTTP 캐시 제어 헤더를 지원하거나 마지막 요청 이후 변경된 경우에만 데이터를 검색하는 데 도움이됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top