회사의 내부 API에 많은 양의 사실 데이터 (현재 80MM 레코드 포함)가 있습니다. 정기적으로 저에게 연결하는 4 명의 고객이 있습니다. 기본 API 호출은 새 항목을 데이터베이스에 추가하고 진위 여부를 확인한 다음 제출 된 항목을 기반으로 구조화되고 분석 된 데이터를 반환합니다.API를 통해 데이터 변경 사항을 고객에게 알리는 가장 좋은 방법
시간이 지남에 따라 항목과 관련된 더 많은 데이터를 식별 할 때 내 고객이 레코드가 변경되었음을 알릴 수 있어야합니다.
지금은 /recent
엔드 포인트가 있는데, 이는 $timestamp
이후로 변경된 모든 레코드를 리턴합니다. 작은 데이터 세트에서는 문제가 없지만 많은 수의 트랜잭션이있을 경우, 특히 대량의 데이터 가져 오기가있는 경우 특히 백만 개 이상의 항목에 대한/최근 데이터 세트로 인해 손쉽게 처리 할 수 있습니다.
내가 가진 또 다른 아이디어는 데이터를 클라이언트에 푸시하기 위해 웹 후크를 사용하는 것이지만 너무 많은 데이터를 푸시하게됩니다. 내 고객은 변경된 모든 항목에 대해 반드시 업데이트 할 필요는 없습니다. 이미 제출 한 항목 만 필요할 수도 있습니다.
문제는 디자인 패턴 또는 코드 전략에 대한 코드에 대한 점점 더하십시오에 기록 수백만 불필요한 요청을 내 고객 홍수 또는 제공하지 않고 업데이트 된 레코드를 내 고객을 알리는 몇 가지 최적의 전략은 무엇
투표?